C# 获得50的最大金额倍数,不含美分
我试着在文本框中填入一个可以除以50的数字,并且不包含任何一分钱 示例: 金额->52353.85 应显示->52350 金额->1229.68 应显示->1200 如何修改该值 提前谢谢C# 获得50的最大金额倍数,不含美分,c#,asp.net,textbox,floating-point,C#,Asp.net,Textbox,Floating Point,我试着在文本框中填入一个可以除以50的数字,并且不包含任何一分钱 示例: 金额->52353.85 应显示->52350 金额->1229.68 应显示->1200 如何修改该值 提前谢谢 int newValue = (int)(oldValue / 50) * 50; 如果需要,在旧值上加25,数字可以四舍五入 int newValue = (int)((oldValue + 25) / 50) * 50; 这将得到正确的四舍五入结果: return Math.Round(x / 50.
int newValue = (int)(oldValue / 50) * 50;
如果需要,在旧值上加25,数字可以四舍五入
int newValue = (int)((oldValue + 25) / 50) * 50;
这将得到正确的四舍五入结果:
return Math.Round(x / 50.0) * 50;
似乎舍入可以是任意的?舍入似乎是有意义的。把它四舍五入到可以被50整除的最接近的整数实际上,很抱歉这没有意义。1229.68应四舍五入至1250。你希望它总是四舍五入到最接近的50吗?@Greg如果我们愿意,我们可以在旧值的基础上加25,数字可以四舍五入。请看我的回答,我需要的正是。谢谢
return (int)x - ((int)x % 50);