作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
为什么会出现下面的代码:
Console.WriteLine(String.Format("{0:C0}", 2170/ 20));
yield “$109”,同时做
Console.WriteLine(Math.Round(2170 / 20));
给我 108?
我怎样才能得到 2170/20 给我 109?
最佳答案
当您除以整数类型的值时,例如 2170
和 20
,运行时执行整数除法并丢弃(截断)小数。
如果您将其中一个操作数更改为 float
、double
或 decimal
(例如,2170.0/20
,或 2170/20m
),它将执行浮点除法,正如您所期望的那样。
因此,您需要将其更改为
Console.WriteLine(Math.Round(2170.0 / 20));
像这样:
Math.Round(2170m / 20, MidpointRounding.AwayFromZero)
关于c# - 被四舍五入咬伤了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3498421/
我是一名优秀的程序员,十分优秀!