zoukankan      html  css  js  c++  java
  • 四舍五入的一些简单写法(利用内置函数,算法2种写法)

          //内置函数的写法
    
           //网上零售价和折扣价在计算结束需要进行进位,规则如下:
            //个位为1,2,3,4进位到5,例如计算后的价格为1201,则价格为1205;
            //个位为6,7,8,9进位到0,例如计算后的价格为1209.则价格为1210;
            public static string ChangePrice(double price)
            {
                int changed = 0;
                int m = (int)Math.Round(price);
                int n = (int)Math.Floor(price / 10);
                int d = m - n * 10;
                if (0 < d && d <= 4)
                {
                    changed = n * 10 + 5;
                }
                else if (5 < d && d <= 9)
                {
                    changed = n * 10 + 10;
                }
                else
                {
                    changed = m;
                }
                return changed + "";
            }
    
    //算法的写法
     public static string ChangePrice(double price)
            {
    
                int changed = 0;//改变后的值
                int m = 0;//四舍五入取整
                int n = 0;//取整数
    
                double temp = price;
                if (temp.ToString().IndexOf('.') > -1)
                {
                    string strTemp = temp.ToString();
                    strTemp = strTemp.Substring(0, strTemp.IndexOf('.'));
                    n = int.Parse(strTemp) / 10;//取整数
                    m = (int)Math.Round(temp);//四舍五入取整数
                    int d = m - n * 10;
                    if (0 < d && d <= 4)
                    {
                        changed = n * 10 + 5;
                    }
                    else if (5 < d && d <= 9)
                    {
                        changed = n * 10 + 10;
                    }
                    else
                    {
                        changed = m;
                    }
    
                }
                else
                {
                    string TempAgain = (temp / 10).ToString();
                    if (TempAgain.IndexOf('.') > -1)
                    {
                        TempAgain = TempAgain.Substring(0, TempAgain.IndexOf('.'));
                        n = int.Parse(TempAgain);
                        m = int.Parse(temp.ToString());
    
                        int d = m - n * 10;
                        if (0 < d && d <= 4)
                        {
                            changed = n * 10 + 5;
                        }
                        else if (5 < d && d <= 9)
                        {
                            changed = n * 10 + 10;
                        }
                        else
                        {
                            changed = m;
                        }
                    }
                    else
                    {
                        n = int.Parse(TempAgain);
                        m = int.Parse(temp.ToString());
    
                        int d = m - n * 10;
                        if (0 < d && d <= 4)
                        {
                            changed = n * 10 + 5;
                        }
                        else if (5 < d && d <= 9)
                        {
                            changed = n * 10 + 10;
                        }
                        else
                        {
                            changed = m;
                        }
                    }
    
    
                }
                return changed + "";
    
    
            }
    
  • 相关阅读:
    第2章 创建基础框架
    目录
    工厂方法模式(Factory Method)
    petshop4.0 详解之七(PetShop表示层设计)
    第1章 启动电子商务网站
    第3章 创建商品目录:第Ⅰ部分
    编写一个JAVA应用程序,用户从键盘只能输入整数,程序输出这些整数的乘积
    书上例题练习第一章
    java与C/C++的区别
    安装JDK遇到的问题
  • 原文地址:https://www.cnblogs.com/it888/p/3760963.html
Copyright © 2011-2022 走看看