首页 > 其他分享 >写一个格式化金额的方法

写一个格式化金额的方法

时间:2025-01-14 09:43:08浏览次数:1  
标签:formatMoney console log 金额 分隔符 格式化 方法 小数

在前端开发中,格式化金额通常意味着将数字金额转换为易于阅读的字符串形式,例如添加千位分隔符、保留特定数量的小数位等。以下是一个使用JavaScript编写的简单方法,用于格式化金额:

function formatMoney(amount, decimalPlaces = 2, decimalSeparator = '.', thousandSeparator = ',') {
    // 检查输入是否为数字
    if (typeof amount !== 'number') {
        console.error('Please provide a number as the amount.');
        return '';
    }

    // 转换数字为字符串,并分割整数部分和小数部分
    let parts = amount.toFixed(decimalPlaces).toString().split('.');

    // 格式化整数部分,添加千位分隔符
    let integerPart = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, thousandSeparator);

    // 如果有小数部分,则使用指定的小数分隔符连接整数部分和小数部分
    let formattedAmount = parts.length > 1
        ? `${integerPart}${decimalSeparator}${parts[1]}`
        : integerPart;

    return formattedAmount;
}

// 示例用法
console.log(formatMoney(1234567.89));       // 输出: "1,234,567.89"
console.log(formatMoney(1234.5678, 3));     // 输出: "1,234.568"
console.log(formatMoney(1234, 0));          // 输出: "1,234"
console.log(formatMoney(1234, 2, ',', '.')); // 输出: "1.234,00"

这个方法接受三个可选参数:decimalPlaces(小数位数,默认为2)、decimalSeparator(小数分隔符,默认为.)和thousandSeparator(千位分隔符,默认为,)。你可以根据需要调整这些参数来适应不同的格式化需求。

标签:formatMoney,console,log,金额,分隔符,格式化,方法,小数
From: https://www.cnblogs.com/ai888/p/18670102

相关文章

  • 【JAVA 基础 第(18)课】HashSet 使用方法详解
    HashSet:Set接口的实现类,存放无序的,不可重复的元素判断是否为重复的对象比较hashCode()方法的返回值,如果不同,判定为不同的对象,如果相同,执行第二步判断equals()方法的返回值,如果为true,则判为相同的对象,如果为false,则为不同的对象publicclassHashSetTest{ publicstatic......
  • 利用CSS改变图片颜色的100种方法!
    https://juejin.cn/post/6844903682010513415前言“说到对图片进行处理,我们经常会想到PhotoShop这类的图像处理工具。作为前端开发者,我们经常会需要处理一些特效,例如根据不同的状态,让图标显示不同的颜色。或者是hover的时候,对图片的对比度,阴影进行处理。”你以为这些是经......
  • Java方法
    java只有值传递方法的重载命令行传参有时候希望运行一个程序的时候再传递给他消息,这就要靠传递命令行参数给main()函数实现。publicclassDemo01{publicstaticvoidmain(String[]args){for(inti=0;i<args.length;i++){System.out.......
  • C++中获取随机数的几种方法
    1.C++中获取随机数的几种方法1.1随机数基本概念:随机数:在一定范围内[a,z],每个数出现的概率相等并且无法预测下一个数的数值序列。伪随机数生成器(PRNG)原理:由一个状态寄存器和一个更新函数组成,初始状态由种子决定,更新状态会根据当前状态生成下一个状态,并输出一个伪随机......
  • JAVA SE 方法的使用
    ......
  • C#格式化输出
    上两期:C#格式化输出-CSDN博客C#格式化输出-CSDN博客Console.WriteLine和Console.WriteConsole.WriteLine和Console.Write是两个用于向控制台输出信息的方法,它们都属于System.Console类。尽管这两个方法的功能相似,但它们之间存在一些关键的区别,这些区别影响了它们的使......
  • 进程、线程,java如何实现多线程任务,Thread里面常用的方法
    1.线程和进程的概述1.1什么是进程正在执行的程序,称为进程。进程是系统分配资源的单元。1.2什么是线程线程又称轻量级的进程,是CPU调度的基本单位,一个进程由一个或多个线程组成进程与进程之间无法共享数据同一个进程的线程与线程之间可以共享数据2.并发与并行的概述并......
  • 方法引用与lambda底层原理&Java方法引用、lambda能被序列化么?
    0.引入最近笔者使用flink实现一些实时数据清洗(从kafka清洗数据写入到clickhouse)的功能,在编写flink作业后进行上传,发现运行的时候抛出:java.io.NotSerializableException,错误消息可能类似于“org.apache.flink.streaming.api.functions.MapFunctionimplementationisnotser......
  • 螺栓连接结构的优化设计方法
    1.结构优化设计简介在满足结构受力的前提下,使结构质量降低,对于工程设计具有重要意义。如桥梁自重的降低可以大幅提高其跨越能力;航天器质量的降低,可以提高飞行速度。结构的轻量化设计是土木工程、航天工程等结构物设计的重要内容。结构优化设计是一种寻找确定最优化设计方案的......
  • Ellyn-Golang调用级覆盖率&方法调用链插桩采集方案
    词语解释Ellyn要解决什么问题?在应用程序并行执行的情况下,精确获取单个用例、流量、单元测试走过的方法链(有向图)、出入参数、行覆盖等运行时数据,经过一定的加工之后,应用在覆盖率、影响面评估、流量观测、精准测试、流量回放、风险分析等研发效能相关场景。常见的覆盖率工具实现......