我对VB.Net中正在进行的程序中的数字格式有疑问
我的问题是,我如何通过裁决将其从VB.Net中的非十进制数字四舍五入 每数百位数:
在两个场景中
*如果百位数等于或低于499(a <= 499)将变为500:
示例:
从1488年开始 - &gt; 1500 从1,000,320 ----&gt; 1000500
*如果百位数等于或高于500(a> = 500)将达到1,000:
示例:
从1500 - &gt; 2000
从1,000,700 ---&gt; 1001000
我使用VB6风格,但它不再工作了,
请帮帮我。
谢谢
答案 0 :(得分:0)
这样做
// Pass value to round off here
private int ValueRoundOff(int value)
{
int returnValue = 0;
bool isHandling = true;
for (int it = 500; isHandling; it += 500)
{
// While it is handling it will check if the value you passed is less
// than to 500, if not it will add another 500 to make it 1000
// and check again
if (value < it)
{
returnValue = it;
isHandling = false;
}
}
return returnValue;
}
答案 1 :(得分:0)
考虑到问题中的例子:
Private Function CustomRound(input As Integer)
Dim roundUpTo500 = (input Mod 1000) < 500
If (roundUpTo500) Then
Return Math.Floor(input / 1000) * 1000 + 500
Else
Return Math.Round(input / 1000) * 1000
End If
End Function
给出以下结果:
CustomRound(1488) -> 1500
CustomRound(1500) -> 2000
CustomRound(1000320) -> 1000500
CustomRound(1000700) -> 1001000