我想将十进制值传递给数据库表。当我将值1,5发送到数据库时,将值保存为15。
Code:
txtKm.Text="1,5";
zelezniceDataSet.VozniRediRow row;
row.Km = decimal.Parse(txtKm.Text);
zelezniceDataSet.VozniRedi.AddVozniRediRow(row);
vozniRediTableAdapter.Update(zelezniceDataSet.VozniRedi);
当调试十进制解析时,该值是正确的(1.5)
答案 0 :(得分:0)
您可能希望查看接受特定于区域性格式选项的overloaded form decimal.Parse。我的猜测是decimal.Parse将你的逗号视为千位分隔符并将其删除。
答案 1 :(得分:0)
decimal.Parse
忽略了逗号...如果你传递“1.5”是保存了正确的值吗?如果是这样,那么您需要在解析Decimal.Parse(String, NumberStyles)
时使用文化使用的重载,并为您使用的语言传递正确的数字样式。
编辑...更多信息..
decimal.Parse(test, CultureInfo.GetCultureInfo("EN-us").NumberFormat );
将为test =“1,5”输出15,因为在英语中,“,”char是千位分隔符
decimal.Parse(test, CultureInfo.GetCultureInfo("NL-nl").NumberFormat );
将为test =“1,5”输出1.5,因为在荷兰语中,“,”char是小数点分隔符
希望这会有所帮助:)