【发布时间】:2019-03-07 08:39:39
【问题描述】:
我想编写一个代码,支持我使用小数对值进行四舍五入。 那么,我该如何编写这样的代码呢?
Example 1:
(1) var mainValue = 1.2356 , decimals = 3 ===> 1.236
(2) var mainValue = 1.2356 , decimals = 2 ===> 1.24
(3) var mainValue = 1.2356 , decimals = 1 ===> 1.2
Example 2:
(1) var mainValue = 1.3210 , decimals = 3 ===> 1.321
(2) var mainValue = 1.3210 , decimals = 2 ===> 1.32
(3) var mainValue = 1.3210 , decimals = 1 ===> 1.3
Example 3:
(1) var mainValue = 1.0325 , decimals = 3 ===> 1.033
(2) var mainValue = 1.0325 , decimals = 2 ===> 1.03
(3) var mainValue = 1.0325 , decimals = 1 ===> 1.0
Example 4:
(1) var mainValue = 2.3912 , decimals = 3 ===> 2.391
(2) var mainValue = 2.3912 , decimals = 2 ===> 2.39
(3) var mainValue = 2.3912 , decimals = 1 ===> 2.4
Example 5:
(1) var mainValue = 5.4565 , decimals = 3 ===> 5.457
(2) var mainValue = 5.4565 , decimals = 2 ===> 5.46
(3) var mainValue = 5.4565 , decimals = 1 ===> 5.5
【问题讨论】:
-
欢迎来到stackoverflow,到底是什么问题?以及使用
Math.Round得到的结果是什么? -
请展示您尝试过的方法以及这对您不起作用的原因。否则,这里的高答案可能对您没有帮助。如果我们中的任何人会给您一个您已经尝试过的解决方案怎么办?我怀疑这会对您有所帮助,因此请提供更多有关您遇到问题的信息。
-
抱歉,您的问题是什么?你开始实现你的舍入方法了吗?它不起作用?然后我们需要查看代码和预期结果以及发生了什么。
-
我在尝试
Math.Round(5.6,1,MidpointRounding.EvenTo);而不是Math.Round(5.6,1,MidpointRounding.AwayFromZero); -
MidpointRounding.AwayFromZero 是你的朋友。签出this。
标签: c# .net oop .net-core rounding