float 型の「loss」という名前のフィールドが db にあります。
これをdbに保存する方法は次のとおりです。
[HttpPost]
public int SaveLoss(float loss)
{
var t = (from x in db.tblTest
where x.id == 8
select x).First();
t.loss = loss; //also tried t.loss = loss / 1;
db.SaveChanges(); //entity framework
}
これは私がいつも行う方法であり、他のすべてのテーブルでは正常に機能します。
テキストボックスを介して損失を入力すると、Ajax 呼び出しが次のようになります。
$.ajax({
type: "POST",
url: "/Test/SaveLoss",
data: {
loss: parseFloat($('#myTextbox').val().replace(',', '.'))
}
....
テキストボックスに 66.55 と入力すると、すべてうまくいきます。テキストボックスに 66,55 と入力すると、db に格納されている値は 6655 です。この問題は私のコンピューターでは発生しません。アプリケーションをサーバーに公開すると、発生します。なぜこの厄介な問題が発生し、どのように修正するのでしょうか?
Fiddler は、66.55 が SaveLoss の入力パラメーターであると述べています。