您的位置:首页 > 编程语言 > C#

C#--第2周实验--任务三--编写一个控制台应用--输入x计算并输出分段函数F(x)的值

2012-09-08 14:30 645 查看
/* (程序头部注释开始)

* 程序的版权和版本声明部分

* 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)只是把最后一位舍弃了,没有四舍五入。

网络上提供的方法有不可行,自己编的有点麻烦。

请各位大侠想想办法,有没有现成的函数可用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐