数字格式化应该很常用,保留几位小数,四舍五入,千分位分割
奈何项目上原有格式化方法,功能比较单一,只能格式化成如 12,456,451.00这样的数字,整数部分千分位分割,小数部分直接舍弃,用两个0表示
无奈自己写了一个
/** * 格式化数字(小数位数,千分位逗号分割) * @param nStr 数字或者字符串 * @param decimal 数字 小数位要补全的位数 默认2 如8.00 * @param precision 小数部分有效的位数 默认0 如8.00 设置1所得结果如8.40 * @param round 是否要四舍五入 true四舍五入 false直接截断 默认false * @param thousand 是否要千分们分割 默认false不分割 * @param formatDecimal 小数部分是否要千分位分割 默认false不分割 * @return string 格式化后的数字字符串 */ function numFormat (nStr, decimal, precision, round, thousand, formatDecimal) { if (typeof decimal === 'boolean') { formatDecimal = typeof round === 'boolean' && round; thousand = typeof precision === 'boolean' && precision; round = decimal; } else if (typeof precision === 'boolean') { formatDecimal = typeof thousand === 'boolean' && thousand; thousand = typeof round === 'boolean' && round; round = precision; } typeof decimal === 'number' || (decimal = 2); typeof precision === 'number' || (precision = 0); precision = precision < decimal ? precision : decimal; round = typeof round === 'boolean' && round; thousand = typeof thousand === 'boolean' && thousand; formatDecimal = typeof formatDecimal === 'boolean' && formatDecimal; nStr || (nStr = 0); nStr = (nStr + '').replace(/[^\d\.]/g, ''); if (round) { nStr = Number(nStr).toFixed(precision); } else { nStr += ''; if (precision === 0) { nStr = nStr.replace(/\..*/, ''); } else if (nStr.indexOf('.') >= 0) { for (var index = 0; index < decimal; index++) { nStr += '0'; } nStr = nStr.replace(new RegExp('(\\.\\d{' + precision + '}).*'), '$1'); } } nStr = Number(nStr).toFixed(decimal); var nArr = nStr.split('.'); if (thousand && nArr[0]) { nArr[0] = nArr[0].replace(/(\d{1,3})(?=(?:\d{3})+$)/g, '$1,'); } if (thousand && formatDecimal && nArr[1]) { nArr[1] = nArr[1].replace(/(\d{3})(?=\d{1,3})/g, '$1,'); } return nArr.join('.'); }
相关推荐
易语言格式化数字源码,格式化数字,取格式化数字_
最简洁的oracle格式化为数字,保留小数位数,简单易行,功能全面
"finereport格式化金额函数js中进行数字超大金额千位符格式化处理" 本文主要讲解了finereport格式化金额函数在JS中进行数字超大金额千位符格式化处理的方法。该需求在前端开发中非常普遍,例如音乐app中的歌曲播放...
该文档为javascript的数字格式化方法,可用于保留小数位,强制添0等操作
**jQuery数字格式化分隔符插件:jquery-number-divider** 在网页开发中,尤其是在处理大量数据或财务信息时,数字的格式化显得尤为重要。`jquery-number-divider` 是一个专为jQuery设计的轻量级插件,它使得在前端...
这里主要介绍两种常用的JSP标签库来实现数字格式化:JSTL(JavaServer Pages Standard Tag Library)中的`<fmt:formatNumber>`标签和EL(Expression Language)表达式。 `<fmt:formatNumber>`是JSTL fmt 标签库中的...
根据提供的文件信息,本文将详细介绍JavaScript中五种常用的数字格式化方法:`CurrencyFormatted`、`format_number`、`CommaFormatted`、`addCommas` 和 `number_format`。这些函数可以帮助开发者更加灵活地处理和...
在C#编程语言中,数字和日期时间的格式化输出是一项基本且重要的任务。这涉及到将数字和日期转换为人类可读的字符串形式,以便在控制台、日志、用户界面或其他输出源中呈现。本篇文章将深入探讨C#中的数字和日期时间...
在JavaScript中,日期和数字的文本格式化是一个常见的需求,特别是在构建用户界面或者处理数据时。这个主题主要涉及如何将日期对象转换为易读的字符串,以及如何对数字进行格式化,使其符合特定的显示标准。这篇博文...
把数字格式化成大写的金额显示(完整版)
以下是对Struts2中日期、时间和数字格式化的详细解释。 首先,我们来了解Struts2中的`ValueStack`。`ValueStack`是Struts2的核心组件,它管理着Action对象和视图层之间的数据传递。当我们需要在JSP页面上显示日期或...
为解决这些BUG,自己写了一个从CEdit派生的格式化数字编辑框,可设置类型有NORMALDATA-字符串数据;UNSIGNEDNUM-无符号整数;SIGNEDNUM-有符号整数;UNSIGNEDDOT-无符号小数;SIGNEDDOT-有符号小数;FORMATNUM-格式...
5. **国际化支持**:考虑到不同国家和地区的数字格式差异(例如,一些地方使用逗号作为小数点,而其他地方使用句点),组件应该提供国际化选项,以便适应不同的显示需求。 6. **自定义样式**:为了适应不同的UI设计...
根据提供的代码示例,我们可以总结出以下关于C#中数字格式化的关键知识点: ### 1. 使用`string.Format()`方法进行格式化 `string.Format()`方法允许你通过指定的格式字符串来格式化一个或多个数值。此方法可以...
在Delphi编程环境中,处理数字金额的格式化是一项常见的任务,尤其在财务软件或报表系统中更为重要。本文将深入探讨如何在Delphi中对数字金额进行格式化,使其符合中国的货币显示规则,例如添加逗号分隔符、人民币...
Java中的数字、货币值和百分数格式化是编程中常见的需求,特别是在处理用户界面和国际化的应用程序时。Java提供了一套强大的工具来实现这些格式化,主要通过`java.text.Format`类及其子类来完成。在这个场景中,我们...
在开发过程中,除了EditPlus,还有其他很多工具可以用来格式化JSON数据,比如在线的JSON校验和格式化工具(如JSONLint)、IDE内置的格式化功能(如Visual Studio Code、IntelliJ IDEA等),以及命令行工具(如jq)。...
用来对钱的数字类型来进行格式化操作设置的
C#String.Format数字格式化输出;有比较详细的讲解。希望对大家有用。