0
將文本框的值轉換爲Convert.ToSingle()
時,可爲2.7至2.7999999523162842等值增加一些額外的精度。我不希望對該值進行舍入,因爲我必須將用戶輸入的確切值存儲到數據庫中。所以如果任何人有此問題之前請發佈解決方案,任何幫助將不勝感激。將文本框值轉換爲單個文本可以在C#中增加額外的精度
將文本框的值轉換爲Convert.ToSingle()
時,可爲2.7至2.7999999523162842等值增加一些額外的精度。我不希望對該值進行舍入,因爲我必須將用戶輸入的確切值存儲到數據庫中。所以如果任何人有此問題之前請發佈解決方案,任何幫助將不勝感激。將文本框值轉換爲單個文本可以在C#中增加額外的精度
這是因爲,float
是binary fraction不能完全代表數量2.7 - 當你嘗試分配一個數字,是不是二進制小數到float
或double
,你將不可避免地結束了不精確的表示。
如果您不想精確地表示像2.7這樣的十進制數字,則需要使用decimal
。
var myDecimal = Convert.ToDecimal(input);
同樣,存儲在您需要使用能夠存儲精確十進制數字組成一個SQL數據類型的SQL Server數據庫中該值。有利地,這種數據類型在SQL中被稱爲decimal
以及