[英]Double.Parse precision/Rounding issue
我在數據庫中有一列具有數據類型
十進制(24,10)
假設我有這樣的價值
字符串d1 =“ 123.6666666666”;
Double.Parse(d1)
在datacolumn中輸出 :123.6666666700
我已經使用Convert.ToDecimal(d1)
給出輸出123.6666666666 。
預期產量:123.7000000000
您得到的輸出是因為雙精度和十進制值的精度。 您實際上想要的是將數字四舍五入為1個小數位,為此您必須根據需要使用Math.Round(雙精度或十進制),如下所示:
Math.Round(Double.Parse(d1),1)
或者,如果您需要
Math.Round(Convert.ToDecimal(d1),1)
有關Math.Round的更多信息,請檢查MSDN鏈接: https ://msdn.microsoft.com/pt-br/library/75ks3aby(v=vs.110).aspx
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.