如何将小数位数(以c为单位)四舍五入到用户给定的最接近的分数值
本文关键字:用户 最接近 四舍五入 为单位 小数 | 更新日期: 2023-09-27 18:05:53
要求
用户可以选择分数值作为规则。例如0.5、或0.01、或0.33、或0.1。
例如,金额为12.46,四舍五入规则为0.01。
我不确定我是否解释正确。
非常感谢您的回答。Khankoouuu提前。
public class Test
{
static double round(double what, double to)
{
return to * Math.Round(what/to);
}
public static void Main()
{
Console.WriteLine(round(3.5, 1));
Console.WriteLine(round(3.44, 1));
Console.WriteLine(round(3.44, 0.1));
Console.WriteLine(round(1.68, 0.33));
Console.WriteLine(round(1.59, 0.33));
}
}
输出
4
3
3.4
1.65
1.65
您可以使用decimal对小数进行四舍五入。Round((方法,重载Decimal和一个表示小数位数的整数。请参见此处。
至于查看用户在输入十进制值时想要使用多少个小数位数的部分,您可以将其转换为字符串,并计算小数点后的字符数:
decimal UserDecimal;
string UserString = UserDecimal.ToString();
int DecimalPlaces = UserString.SubString(UserString.IndexOf(".")).Length;
最后,DecimalPlaces将是用户使用其输入的十进制值隐式请求的小数位数。
这就是你要找的??