我有一个计算公交车票价格的网站。目前价格四舍五入到最接近的10,但现在我希望计算出的价格四舍五入到9的最接近的数字。
编辑:在评论中添加了回答问题的新示例。
示例:
有没有人有关于如何使用c#解决问题的提示?
答案 0 :(得分:6)
舍入到最接近的10然后减去1。
在c#中,您可以这样做:
double val = 444.3;
double step1 = val/10; // 44.43
double step2 = Math.Round(step1, MidpointRounding.AwayFromZero); // 44
int step3 = (int)step2 * 10; // 440
int rndVal = step3 - 1; // rndVal == 439
或最短版本:
double val = 444.3;
int rndVal = (int)(Math.Round(val/10, MidpointRounding.AwayFromZero)*10)-1;
答案 1 :(得分:0)
加1,舍入到最接近的10,然后减1。
答案 2 :(得分:0)
int number=65;
// Console.WriteLine(number);
int lastNumber=number%10;
//Console.WriteLine(lastNumber);
if(lastNumber<5)
{
number-=lastNumber;
number--;
Console.WriteLine(number);
}
else
{
var addNumber=10-lastNumber;
number+=addNumber;
number--;
Console.WriteLine(number);
}
答案 3 :(得分:0)
以下功能可以完成这项工作。
public static int RoundTo9(double value)
{
return (int)(value/10.0 + 0.5) * 10 - 1;
}