首页 > 其他分享 >js格式化金额 - 数字千分化

js格式化金额 - 数字千分化

时间:2024-07-26 11:52:29浏览次数:8  
标签:格式化 decimalPart 分化 next num return js const


/**
 * 格式化金额 - 数字千分化
 * @param {number | string} num - 输入的数字或字符串
 * @returns {string} - 格式化后的金额字符串,空值时返回 '-'
 */
export function numToMoney(num) {
    // 检查输入是否为空
    if (num === null || num === undefined || num === '') {
        return '-';
    }

    // 将输入的数字转换为字符串
    const str = num.toString();

    // 分离整数部分和小数部分
    const [integerPart, decimalPart] = str.split('.');

    // 处理整数部分,千分位分隔
    const formattedInteger = integerPart
        .split('')
        .reverse()
        .reduce((prev, next, index) => {
            return (index % 3 ? next : next + ',') + prev;
        });

    // 合并整数部分和小数部分
    return decimalPart ? `${formattedInteger}.${decimalPart}` : formattedInteger;
}

标签:格式化,decimalPart,分化,next,num,return,js,const
From: https://www.cnblogs.com/shyhuahua/p/18325016

相关文章

  • 什么是面向对象,js如何创建对象和工厂函数
    面向对象编程(Object-OrientedProgramming,简称OOP)是一种编程范式,它使用“对象”来设计软件。对象可以包含数据(属性)和代码(方法),这些代码可以操作这些数据。面向对象编程的基本概念包括:封装:把数据(属性)和行为(方法)组合在一起,隐藏内部状态和实现细节。继承:允许新创建的类(子类)继......
  • NodeJs 学习笔记
    Node.js是一个基于ChromeV8JavaScript引擎的开源运行环境,用于开发服务器端和网络应用。Node.js允许开发者使用JavaScript编写命令行工具和服务器端的应用程序,并且可以无缝地在从服务器到桌面应用再到移动设备的各种环境中运行。Node.js的核心原理包括:事件驱动:Node.......
  • (Javaweb)js
    目录一.js介绍二.引入方式三.js基础语法1.书写语法2.js变量3.数据类型运算符流程控制语句 四.js函数五.js对象六.js对象--Array数组七js对象--String字符串八.js对象--JSON九.js对象--BOM十.js对象--DOMDOM案例一.js介绍脚本语言:代码不需要进行编译,直......
  • 无法访问 json 属性
    我正在尝试访问此json的“城市”属性,但不知何故它不起作用,这是json结构:"{\"ForSaleShopperPlatformFullRenderQuery{\\\"zpid\\\":28657235,\\\"platform\\\":\\\"DESKTOP_WEB\\\",\\\"formType\\\":\\\"OPA......
  • 尝试解析文件中的多个 JSON 时字符索引不一致
    我使用以下代码来解析.json文件中存储的流中以逗号分隔的JSON多行对象:defstream_read_json(fn):importjsonstart_pos=0withopen(fn,'r',encoding='utf-8')asf:whileTrue:try:obj=json.load(f)yieldobj......
  • JavaWeb笔记_JSTL标签库&JavaEE三层架构案例
    一.JSTL标签库1.1JSTL概述 JSTL(jspstandardtaglibrary):JSP标准标签库,它是针对EL表达式一个扩展,通过JSTL标签库与EL表达式结合可以完成更强大的功能  JSTL它是一种标签语言,JSTL不是JSP内置标签  JSTL标签库主要包含:   ****核心标签     ......
  • 一篇文章讲清楚html css js三件套之html
    目录HTMLHTML发展史HTML概念和语法常见的HTML标签: HTML调试错误信息分析HTML文档结构HTML5的新特性结论HTMLHTML是网页的基础,它是一种标记语言,用于定义网页的结构和内容。HTML标签告诉浏览器如何显示网页元素,例如段落、标题、列表、链接、图片和表格等。HTML发......
  • GeoTools 读取 GeoPackage (`.gpkg`) 文件转为 GeoJSON
    要使用GeoTools读取GeoPackage(.gpkg)文件的第一个图层并将其转换为GeoJSON字符串,可以按照以下步骤进行:读取GeoPackage文件:使用GeoTools的DataStore类来访问GeoPackage文件。获取第一个图层:从DataStore中获取图层信息。将图层数据转换为GeoJSON:使用Featur......
  • 前端和js
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>MeetingRoomSchedule</title......
  • 【嵌入式开发之标准I/O】流的刷新、定位以及格式化输出、输入
    流的刷新intfflush(FILE*fp);成功时返回0;出错时返回EOF。将流缓冲区中的数据写入实际的文件。Linux下只能刷新输出缓冲区,输入缓冲区丢弃。如果输出到屏幕使用fflush(stdout)。流的定位流的定位:ftell()函数 longftell(FILE*stream);ftell() 函数的作用是......