当前位置: 首页 > news >正文

一个外国人建设的中国文字网站深圳网络优化推广公司

一个外国人建设的中国文字网站,深圳网络优化推广公司,免费seo课程,php 网站管理系统c#动态保留小数位数的数值格式化方法实例----从小数点后非零数字保留两位进行四舍五入 功能介绍代码案例输出结果封装扩展方法控制台调用 其他方法地址 功能介绍 1. 输入的数字是整数,则直接返回整数部分的字符串表示。 2. 如果输入的数字是小数,则执行…

c#动态保留小数位数的数值格式化方法实例----从小数点后非零数字保留两位进行四舍五入

  • 功能介绍
    • 代码案例
    • 输出结果
    • 封装扩展方法
      • 控制台调用
    • 其他方法地址

功能介绍

1. 输入的数字是整数,则直接返回整数部分的字符串表示。

2. 如果输入的数字是小数,则执行以下步骤:

    2.1 如果小数部分.后以".0"开头(例如:0.00013),需要动态计算显示,不允许固定保留小数位数。这意味着不能直接保留两位小数,因为无法确定后面有多少位0。直接保留会显示为0或者0.00

    2.2 如果小数部分不以".0"开头,直接进行四舍五入并保留小数位数。

该方法的目的是根据输入的数字进行判断和处理,使得最终输出的字符串满足上述保留小数的规则。

代码案例

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConsoleApp4
{class Program{static void Main(string[] args){Console.WriteLine($"原始值:567--------转换后的值:{FormatNumber(567)}");Console.WriteLine($"原始值:0.00000196--------转换后的值:{FormatNumber(0.00000196)}");Console.WriteLine($"原始值:831.00002455--------转换后的值:{FormatNumber(831.00002455)}");Console.WriteLine($"原始值:76.008921--------转换后的值:{FormatNumber(76.008921)}");Console.WriteLine($"原始值:0.003333333--------转换后的值:{FormatNumber(0.003333333)}");Console.WriteLine($"原始值:0.54241218115613401401552902563902978171--------转换后的值:{FormatNumber(0.54241218115613401401552902563902978171)}");}/// <summary>/// 计算保留小数/// 1、整数:如果是整数则直接返回/// 2、小数:///     2.1小数点后以.0开头,需要动态计算显示,假如0.00013,直接保留两位岂不是0.00了,又不确定后面有多少位0,不允许固定保留小数位///     2.2小数点后不为.0开头,直接四舍五入保存/// 0.00001显示为0.00001/// 0.00000196显示为0.000002/// 76.008921显示为76.0089/// 831.00002455显示为831.000025/// 0.003333333显示为0.0033/// 0.54241218115613401401552902563902978171显示为0.54/// 567显示为567/// </summary>/// <param name="number"></param>/// <returns></returns>static string FormatNumber(double number){try{// 判断是否整数,如果是,直接返回整数部分if (number == Math.Floor(number)){return number.ToString("0");}else{// 获取小数部分double decimalPart = number - Math.Floor(number);// 转换小数部分为字符串string decimalPartString = decimalPart.ToString("0.##############################");// 找到小数点的位置int dotIndex = decimalPartString.IndexOf('.');// 计算小数部分的 ".0" 开头的零的数量int zeroCount = 0;for (int i = dotIndex + 1; i < decimalPartString.Length; i++){if (decimalPartString[i] == '0'){zeroCount++;}else{break;}}// 生成保留小数位数的格式字符串string formatString;if (zeroCount == 0){formatString = "0.00"; // 如果没有 ".0" 开头的零,保留两位小数}else{formatString = "0." + new string('#', 2 + zeroCount); // 否则,根据零的数量生成格式字符串}return number.ToString(formatString);}}catch (Exception ex){return number.ToString("0.##");}}}
}

输出结果

在这里插入图片描述

封装扩展方法


public static class FormatExtension
{public static string FormatNumber(this double number){try{// 判断是否整数,如果是,直接返回整数部分if (number == Math.Floor(number)){return number.ToString("0");}else{// 获取小数部分double decimalPart = number - Math.Floor(number);// 转换小数部分为字符串string decimalPartString = decimalPart.ToString("0.##############################");// 找到小数点的位置int dotIndex = decimalPartString.IndexOf('.');// 计算小数部分的 ".0" 开头的零的数量int zeroCount = 0;for (int i = dotIndex + 1; i < decimalPartString.Length; i++){if (decimalPartString[i] == '0'){zeroCount++;}else{break;}}// 生成保留小数位数的格式字符串string formatString;if (zeroCount == 0){formatString = "0.00"; // 如果没有 ".0" 开头的零,保留两位小数}else{formatString = "0." + new string('#', 2 + zeroCount); // 否则,根据零的数量生成格式字符串}return number.ToString(formatString);}}catch (Exception ex){return number.ToString("0.##");}}}

控制台调用

     double num = 2567.11233;Console.WriteLine(num.FormatNumber());

其他方法地址

.NET(C#)将十进制数四舍五入保留第一个非零小数(Math.Round())

如果有哪位前辈或同胞了解类似以上转换合适的方法、以及依赖包,可以说明下,一起学习进步,本次遇到记录一下~

http://www.ds6.com.cn/news/4113.html

相关文章:

  • 网页制作与设计源代码seo实战培训中心
  • 做一个网站需要哪些资源宁波网站建设的公司
  • wordpress网页登录淘宝怎么优化关键词步骤
  • 电商 企业网站 福州链接推广
  • 网站地图插件crm系统成功案例分享ppt
  • 帮别人做钓鱼网站 公安seo品牌优化百度资源网站推广关键词排名
  • 黄页88怎么上传商品seo分析与优化实训心得
  • 做计算机题目的网站推广技术
  • 初中做语文题的网站企业网络推广方案策划书
  • 网站 开发 合同seo优化工具软件
  • 网站制作团队百度云官网登录入口
  • 福建省做鞋批发网站国外seo比较好的博客网站
  • 响应式网站建设软文推广引流网站
  • 在哪个网站做简历比较好南京百度快速排名优化
  • 自己做赌博网站长沙百度贴吧
  • 编程就是做网站吗南宁在哪里推广网站
  • 永川区做网站品牌推广经典案例
  • 做seo是要先有网站吗怎么给客户推广自己的产品
  • typecho做网站怎么弄一个网站平台
  • 网站建设by祥云平台seo资讯推推蛙
  • 淘客推广方法南京seo外包平台
  • 北京和隆优化是干嘛的天津海外seo
  • 龙岗外贸网站建设北京百度seo排名
  • 网站开发cseo建站教程
  • 海纳网站建设广州灰色优化网络公司
  • 有限公司 wordpress免费seo培训
  • 用iis浏览网站2022网站快速收录技术
  • 百度广州给做网站公司百度竞价排名机制
  • 浙江 网站备案零基础学电脑培训班
  • 做专门的表白网站互联网营销是干什么