【四舍五入】各位大侠帮帮忙,小弟感激不尽!!!
题目是:要求对输入的两个数进行四舍五入,并保留两位小数【本人在天津一大学内学习软件工程,是个十足的新手,原来完全没有接触过编程,因为老师上课讲的完全听不懂,所以只能自学,但是那些代码我真的看不懂】
下面的是参考书上的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace CalcNum
{
class Program
{
static void Main(string[] args)
{
while (true)
{
try
{
Program program = new Program();
Console.Write("请输入第一个数:");
double num1 = Convert.ToDouble(Console.ReadLine());//记录第一个数
Console.Write("请输入第二个数:");
double num2 = Convert.ToDouble(Console.ReadLine());//记录第二个数
Console.WriteLine(program.Round(num1 / num2, 2));//除法运算
}
catch { }
}
}
#region 对数字进行四舍五入
/// <summary>
/// 对数字进行四舍五入
/// </summary>
/// <param name="d">要操作的数字</param>
/// <param name="i">小数保留位数</param>
/// <returns>四舍五入之后的数字</returns>
public string Round(double d, int i)
{
if (d >= 0)
{
d += 5 * Math.Pow(10, -(i + 1));
}
else
{
d += -5 * Math.Pow(10, -(i + 1));
}
string str = d.ToString();
string[] strs = str.Split('.');
int idot = str.IndexOf('.');
string prestr = strs[0];
string poststr = strs[1];
if (poststr.Length > i)
{
poststr = str.Substring(idot + 1, i);//截取需要位数
}
else
{
for (int j = 0; j < (i - poststr.Length); j++)
poststr = poststr + "0";
}
string strd = "";
if (i == 0)
strd = prestr;
else
strd = prestr + "." + poststr;
return strd;
}
#endregion
}
}
代码中很多关键字看不同,请问这道题有更简单易懂的程序吗?【适合新手看,或者更好研究懂一点的代码】,小弟在此谢谢各位了!!!