當插入一個浮動到一個SQL Server數據庫中,我得到:C#浮不插入的確切價值
5.03000020980835
這是不是正在被收集的精確值。
我是如何收集這個浮球?通過文本框控件轉換爲浮動
如何我目前正在與數據的工作:
private void PayRateTextBox_TextChanged(object sender, EventArgs e)
{
PayRateBox = float.Parse(PayRateTextBox.Text);
}
以上是設置內部浮到被設置在當前更新文本框:
private float PayRateBox = 0;
然後插入如:
string Query = "INSERT INTO shifts (ShiftDate,WeekNumber,Hours,PayType,Rate) " +
"VALUES(@Date, @WeekNo, @Hours, @PayType, @Rate)";
並結合到經由粘結的p該查詢arameters:
CMD.Parameters.Add("@Rate", SqlDbType.Float);
CMD.Parameters["@Rate"].Value = PayRate;
文本框中的默認文本沿着其他數據被追加到使整個價值增值的線設定爲5.03,這樣的地方。我試圖追蹤發生這種情況的地點,但無法找出發生這種情況的原因和原因。也許我忽略了一些東西?
浮點數不準確,所以這應該不會令人驚訝。 – 2014-08-28 00:20:29
如果它確切地是5.03,你認爲'decimal.Parse'並將它存儲在一個'Decimal'類型的列中嗎?更多信息:[小數與雙精度:我應該使用哪一個?](http://stackoverflow.com/questions/1165761/decimal-vs-double-which-one-should-i-use-and-when) – 2014-08-28 00:20:41
@GrantWinney對Table和活動代碼進行更改後。它像一個魅力。表格的新結構是'decimal(3,2);'和'float'相同 – 2014-08-28 00:28:56