例如,我有1.242533222,我想将它舍入为2.换句话说,我想将一个浮点数舍入到最接近的最大整数.如何在Python 3中做到这一点?
我String在 a 中有金额TextBox,我想除以 100。
该值应四舍五入到两位小数。我试过了,但没有得到正确的值。
这是我尝试过的:
6766/100 = 67.66
47/100 = .47
98/100 = .98
Run Code Online (Sandbox Code Playgroud) 我正在尝试根据某些条件对 c# 不同的数字进行四舍五入:
如果数字介于 0 和 100 之间,则将其四舍五入为最接近的整数。例如:8.4 = 8, 8.6 = 9 如果数字介于 101 和 10000 之间,则将其四舍五入到最接近的百位。例如:1545 = 1500、1551 = 1600
如果数字 > 10000,则将其四舍五入到接近千。例如:15499 = 15000、15600 = 16000。
但我试过使用 math.round 并且它似乎不起作用。你能给我一个提示吗?
谢谢你
也许我已经花了太多的夜晚,但我有以下代码:
MessageBox.Show(
Convert.ToInt32(
Math.Round(
(double)( ( i+1 )/r.Count )*100 ,
0
)
).ToString()
);
Run Code Online (Sandbox Code Playgroud)
哪个总是返回0,即使i=120000和r.Count=150000.这是一个简单的进度计算,其中i是循环中的当前迭代,并且r是集合(List()).
我已经分离了代码,甚至以下仍然返回0:
Convert.ToInt32(
Math.Round(
(double)(( 120000+1 )/167428 )*100
, 0 )
)
Run Code Online (Sandbox Code Playgroud)
不知道这里发生了什么,所以任何关于我做错了什么的洞察力(可能是前额扒手).它应该是(使用上面的数字),返回71.
@Habib的旗帜重复:
你声称重复 - 实际上是不同的,即使这里的解决方案不适用,因为这是一个加倍的转换问题,而不是在游戏中为每个变量添加带有额外小数点的'm'.
我到处搜索这个,没有解决方案,我需要舍入到最近的5个整数,不知道如何制定这个,例如round(0.13)将返回5; 这里是模式逻辑,具有舍入的第一个值和舍入后的预期结果;
0.12 => 0
0.99 => 0
1.01 => 0
4.99 => 5
5.45 => 5
7.00 => 5
8.00 => 10
9.10 => 10
14.34 => 15
17.4 => 15
17.5 => 20
37.6 => 40
Run Code Online (Sandbox Code Playgroud) 这是我的C程序:
#include <stdio.h>
main(){ printf("%f", 5/3); }
Run Code Online (Sandbox Code Playgroud)
我期待输出1.000000,但我得到的输出是0.000000.有人可以解释原因吗?
我有不同的价值
5.5
13.56
45.70
58.89 (never go more than 60)
and many more ...
Run Code Online (Sandbox Code Playgroud)
假设它们是分钟.而且我希望他们的输出在最接近的15分区中像
5.5 => 0
13.56 => 15
45.70 => 45
58.89 => 60
Run Code Online (Sandbox Code Playgroud)
但我不知道如何实现这种圆形输出.请帮我...
RoundingMode.DOWN 与 RoundingMode.HALF_DOWN 有何不同?在什么情况下他们的行为是不同的?
RoundingMode.UP 与 RoundingMode.HALF_UP 的相同问题。
当我尝试使用以下方法划分 BigDecimals 时:
divide(divisor, RoundingMode.HALF_UP)
它返回 0
但是,如果我没有这样的舍入模式就这样做:
divide(divisor)
我得到一个 ArithmeticException
我不在乎数字是否不是精确的十进制表示。如何在不得到 0 或异常的情况下划分 BigDecimals?
我正在尝试专门使用这个值
new BigDecimal("23.025").setScale(2, RoundingMode.HALF_EVEN);
输出为23.02,但应为23.03.这是一个错误吗?
只是为了好奇DecimalFormat("#####0,00");也行不通
还有其他建议吗?