zoukankan      html  css  js  c++  java
  • C# 保留小数位数的方法

    Ø  前言

    本文主要介绍 C# 中实现小数位数的保留,完成对小数位数四舍五入的几种方法。

     

    1.   使用 Math.Round() 方法

    说明:

    1)   其实使用 Math.Round() 方法,是根据国际标准(五舍六入)的方式进行取舍的。

    2)   1的情况有两种:1)保留小数位后面第1位大于等于62)保留小数位后面第1位等于5,则第2位必须大于0

    double double1_1 = Math.Round(1.545, 0);            //2.0

    double double1_2 = Math.Round(1.545, 1);            //1.5

    double double1_3 = Math.Round(1.545, 2);            //1.54

    double double1_4 = Math.Round(1.5451, 2);           //1.55

    double double1_5 = Math.Round(1.546, 2);            //1.55

     

    2.   使用 Decimal.Round() 方法

    说明:小数取舍与 Math.Round() 方法相同。

    decimal decimal2_1 = decimal.Round(1.545m, 0);      //2M

    decimal decimal2_2 = decimal.Round(1.545m, 1);      //1.5M

    decimal decimal2_3 = decimal.Round(1.545m, 2);      //1.54M

    decimal decimal2_4 = decimal.Round(1.5451m, 2);     //1.55M

    decimal decimal2_5 = decimal.Round(1.546m, 2);      //1.55M

     

    3.   使用 ToString() + NumberFormatInfo

    说明:标准的四舍五入法,更适合中国人的习惯哦。

    NumberFormatInfo nfi3_1 = new NumberFormatInfo();

    nfi3_1.NumberDecimalDigits = 0;

    string str3_1 = 1.545d.ToString("N", nfi3_1);       //"2"

    nfi3_1.NumberDecimalDigits = 1;

    string str3_2 = 1.545d.ToString("N", nfi3_1);       //"1.5"

    nfi3_1.NumberDecimalDigits = 2;

    string str3_3 = 1.545d.ToString("N", nfi3_1);       //"1.55"

    nfi3_1.NumberDecimalDigits = 2;

    string str3_4 = 1.5451d.ToString("N", nfi3_1);      //"1.55"

    nfi3_1.NumberDecimalDigits = 2;

    string str3_5 = 1.546d.ToString("N", nfi3_1);       //"1.55"

     

    4.   使用 ToString() + 格式化字符

    说明:标准的四舍五入法,更适合中国人的习惯哦。

    string str4_1_1 = 1.545d.ToString("N0");            //"2"

    string str4_1_2 = 1.545d.ToString("N1");            //"1.5"

    string str4_1_3 = 1.545d.ToString("N2");            //"1.55"

    string str4_1_4 = 1.5451d.ToString("N2");           //"1.55"

    string str4_1_5 = 1.546d.ToString("N2");            //"1.55"

    //ToString() 的简单方法

    string str4_2_6 = 1.545d.ToString("0");             //"2"

    string str4_2_7 = 1.545d.ToString("0.0");           //"1.5"

    string str4_2_8 = 1.545d.ToString("0.00");          //"1.55"

    string str4_2_9 = 1.5451d.ToString("0.00");         //"1.55"

    string str4_2_10 = 1.546d.ToString("0.00");         //"1.55"

     

    5.   使用 String.Format() 方法

    说明:标准的四舍五入法,更适合中国人的习惯哦。

    string str5_1 = string.Format("{0:N0}", 1.545d);    //"2"

    string str5_2 = string.Format("{0:N1}", 1.545d);    //"1.5"

    string str5_3 = string.Format("{0:N2}", 1.545d);    //"1.55"

    string str5_4 = string.Format("{0:N2}", 1.5451d);   //"1.55"

    string str5_5 = string.Format("{0:N2}", 1.546d);    //"1.55"

     

    6.   将数字转为“%”百分号字符串

    string str6_1 = 0.545d.ToString("P", new NumberFormatInfo

    {

        PercentDecimalDigits = 2,       //转换后小数保留的位数,默认为2

        PercentPositivePattern = 1      //%号出现的位置:1 数字后面,2 数字前面,默认为0

    }); //"54.50%"

  • 相关阅读:
    kubernetes概述与入门
    kubernetes入门到放弃-docker基础篇
    Git远程仓库☞GitLab的使用
    Git远程仓库☞GitHub的使用
    Git版本控制系统
    持续集成-DevOps概念篇
    持续集成扫盲篇
    Centos7系统介绍
    LNMP架构说明
    dynamic_cast c++
  • 原文地址:https://www.cnblogs.com/abeam/p/8406054.html
Copyright © 2011-2022 走看看