簡體   English   中英

將文本框值轉換為單值可在C#中增加額外的精度

[英]Convertion of textbox value to single adds extra precision in C#

在將文本框的值轉換為Convert.ToSingle()會為2.7到2.7999999523162842之類的值增加一些額外的精度。 我不需要此值的任何舍入,因為我必須將用戶輸入的確切值存儲到DB。 因此,如果任何人之前遇到此問題,請發布解決方案,我們將不勝感激。

這是因為float是不能精確表示2.7的二進制分數 -當您嘗試為floatdouble分配非二進制分數的數字時,不可避免地會得到不精確的表示形式。

如果您不想精確表示2.7等十進制數字,則需要使用decimal

var myDecimal = Convert.ToDecimal(input);

同樣,要將此值存儲在sql服務器數據庫中,您需要使用能夠存儲精確的十進制數字的SQL數據類型。 方便地,此數據類型在SQL中也稱為decimal

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM