簡體   English   中英

Double.Parse精度/舍入問題

[英]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.

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