簡體   English   中英

C#:如何將浮點值四舍五入到最接近的浮點值?

[英]C# : How to round up float value to nearest float value?

我有一個datagridview列'total',其中我正在計算所輸入的各個項目的費率之和。有時我會得到30.19盧比或100.59盧比的加成,我想使30.19至30.50和100.59至101.所以任何人都可以幫我..?

我努力了

                float val = float.Parse(value);
                total = val;

                ekunrakam = ekunrakam + total;
                Math.Round(ekunrakam + 0.5,2);

但它不起作用..

提前致謝..

通常在使用貨幣的情況下,如果您沒有專用的貨幣類型,則使用現有的最小貨幣單位,派斯或美分或您擁有的貨幣。

另外,請勿使用浮點數賺錢,否則舍入錯誤將使您受益。 這些人建議使用十進制。

在C#中用於金錢的最佳數據類型是什么?

大多數國家/地區都有法定的標准,規定如何對少量貨幣進行四舍五入,這有時是法律所要求的,但它們通常是銀行家四舍五入的變體。 幸運的是,它是Decimal.Round的默認行為。

http://msdn.microsoft.com/zh-cn/library/system.decimal.round%28v=vs.71%29.aspx

您希望Math.Round(Somefloat + 0.5,2)可以完成這項工作。

如果您想舍入到最接近的整數(例如100.59到101),我會告訴您只需將float變量設置為int。 但是,為什么要舍入到30.50? 您舍入的具體規則是什么?

暫無
暫無

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

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