当前位置:编程学习 > C#/ASP.NET >>

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

/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:编写一个控制台应用--输入x计算并输出分段函数F(x)的值
* 作 者: 雷恒鑫
* 完成日期: 2012 年 09 月08 日
* 版 本 号: V1.0
* 对任务及求解方法的描述部分
* 输入描述: 
* 问题描述:
* 程序输出:
* 程序头部的注释结束
*/
 
 
[csharp]
<span style="font-size:24px;">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); 
        } 
    } 

</span> 

运行结果:

 
经验积累:
1.把字符强制转换成double型以下两种方法都可以。
[csharp]
<span style="font-size:24px;"> x = Convert.ToDouble(s); 
 x = double.Parse(s);</span> 
 
问题:
1.“C#中用哪个函数保留两位小数?”
Math.Round(d, 1)只是把最后一位舍弃了,没有四舍五入。
网络上提供的方法有不可行,自己编的有点麻烦。
请各位大侠想想办法,有没有现成的函数可用。
 

补充:软件开发 , C# ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,