将十进制舍入为特殊位数

时间:2012-06-14 08:47:04

标签: c# asp.net

我需要创建一个对十进制数进行舍入的函数,如下所示:

回合(“$ 32.95”,0)到 - > $ 33 回合(“85.86%”,1)到 - > 86.9%

其中第一个参数是字符串,第二个参数是所需的小数点数

我正在使用Math.round,但它正在转换为85.9

2 个答案:

答案 0 :(得分:0)

您可以使用的算法(我不知道C#):

  • 获得10-to-the-power(有效位数)(= P10)
  • 将您的小数位乘以P10
  • 添加:0.5
  • 将此总和的整数部分除以(P10) - 答案将是您的四舍五入的数字

答案 1 :(得分:0)

将字符串转换为double并将其传递给Math.Round,方法如下所示:

double num=32.86;
Math.Round(num);   //Output 33
Math.Round(num, 1) //Output 32.9