C#--第2周实验--任务三--编写一个控制台应用--输入x计算并输出分段函数F(x)的值
/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:编写一个控制台应用--输入x计算并输出分段函数F(x)的值
* 作 者: 雷恒鑫
* 完成日期: 2012 年 09 月08 日
* 版 本 号: V1.0
* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述:
* 程序输出:
* 程序头部的注释结束
*/
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication_read_string{ class Program { static void Main(string[] args) { double d;//如果不加double char c='a';//循环控制变量 Console.Write("请输入一个数:"); string s = Console.ReadLine(); double x = double.Parse(s); while (!c.Equals('e')) //当字符c等于e时结束循环 { if (x != 0) { d = 1 / x;//如果加double } else { d = 0; //如果不加double ,提示当前上下文中不存在名称“d”; } //double d1 = double.Parse(d.ToString("1F")); //string d1 = Convert.ToDecimal("d").ToString("0.00"); //string bb = d.ToString().Substring(0, d.ToString().LastIndexOf(". ") + 3); //string bb = d.ToString().Substring(0, d.ToString().LastIndexOf(". ") + 3 < d.() ? d.Length : d.ToString().LastIndexOf(". ") + 3); Console.WriteLine("\r\n不四舍五入,分段函数f(x)的值是:{0}", Math.Round(d, 1)); //Console.WriteLine("\r\n四舍五入,分段函数f(x)的值是:{0}",d1); Console.Write("还想继续运算吗?按“e”结束运算,按其他键继续运算!"); c = Console.ReadKey().KeyChar; Console.WriteLine(); if(c.Equals('e')) { break; } else { Console.Write("请输入一个数:"); s = Console.ReadLine(); x = double.Parse(s); } } Console.ReadKey(false); } }}
运行结果:
经验积累:
1.把字符强制转换成double型以下两种方法都可以。
x = Convert.ToDouble(s); x = double.Parse(s);
问题:
1.“C#中用哪个函数保留两位小数?”
Math.Round(d, 1)只是把最后一位舍弃了,没有四舍五入。
网络上提供的方法有不可行,自己编的有点麻烦。
请各位大侠想想办法,有没有现成的函数可用。