首页 > 其他分享 >元与万元转换,以及千分符、保留两位处理等。

元与万元转换,以及千分符、保留两位处理等。

时间:2024-05-08 10:46:50浏览次数:30  
标签:两位 return 千分 num parseFloat value 转换 null const

// 元转万元
const setIsNumer = (num, isToFix = true) => {
  let result;
  if (num !== null && !isNaN(parseFloat(num))) {
	const newNum = parseFloat(parseFloat(num.toString().replace(/,/gi, '')) / 10000);
	if (isToFix) {
	  // 如果需要四舍五入
	  result = parseFloat(newNum.toFixed(2));
	} else {
	  // 不需要四舍五入 精度问题会补1最后一位
	  // result = parseFloat(
	  //   Util.Math.div(Math.floor(Util.Math.mul(newNum, 100)), 100),
	  // );
	  result = setNumberToFixed(newNum);
	}
	return result;
  }
  return null;
};

// 万元转元
const setWanYuanNumber = (num, isToFix = true) => {
  if (num !== null && !isNaN(parseFloat(num))) {
	const value = parseFloat(parseFloat(num) * 10000);
	if (isToFix) {
	  return value.toFixed(2);
	} else {
	  return setNumberToFixed(value);
	}
  }
  return null;
};

// 数字保留两位小数 且不四舍五入
const setNumberToFixed = (num) => {
  if (num !== null && !isNaN(parseFloat(num))) {
	num = num.toString().replaceAll(',', ''); //有的数据后端做了千分位处理
	const arrayNum = num.toString().split('.');
	if (arrayNum?.length === 1) {
	  // 整数补0
	  return num.toString() + '.00';
	}
	let [int, flot] = arrayNum;
	flot = flot?.substring(0, 2) ? flot?.substring(0, 2) : 0;
	return parseFloat(`${int}.${flot}`).toFixed(2);
  } else {
	return null;
  }
};

// 整数带小数千分位分割
const setNumberDivision = (value) => {
  return isNaN(parseFloat(value))
	? null
	: value
	  .toString()
	  // : parseFloat(value)
	  //     .toString()
	  .replace(/\B(?<!(\.\d+))(?=(\d{3})+\b)/g, ',');
};

//  千分位分割,保留2位小数(不四舍五入)
const setNumberDivisionToFixed = (value) => {
  return setNumberDivision(setNumberToFixed(value));
};

标签:两位,return,千分,num,parseFloat,value,转换,null,const
From: https://www.cnblogs.com/songkomei/p/18179179

相关文章

  • 知识扩展--- MMU 将虚拟地址转换为物理地址
    MMU(内存管理单元)如何将虚拟地址转换为物理地址什么是MMU?MMU是“MemoryManagementUnit”的缩写,中文名是内存管理单元。MMU是现代计算机操作系统中的一个重要组成部分,其主要功能是将虚拟地址转换为物理地址。通过MMU,可以实现虚拟内存管理、内存保护、内存共享等功能,从而提高系......
  • python-ncm2mp3格式转换
    1、背景:华为音乐VS华为手表,双输华为gtrunner手表导入音乐,在开通了华为音乐会员导入后,通过手表播放竟然还需要连接手机确认会员有效性才能播放,真实逆天啊,不图导入方便我都不开会员好么!手表单独播放音乐就是为了脱离手机,你告诉我必须连接手机音乐app验证,wtf,产品经理你在梦游吗?2、......
  • xpinyin:汉字转换为拼音库
    "xpinyin"是一个Python库,用于将汉字转换为拼音。通过xpinyin库,你可以在Python中实现将中文字符转换为拼音的功能,方便在文本处理或其他应用中使用。如果你需要在Python中进行汉字到拼音的转换,可以考虑使用xpinyin库。你可以通过pip安装xpinyin,然后在Python脚本中......
  • 顺序栈实现进制转换 和 通过键盘输入一个包括 '(' 和 ')' 的字符串string ,判断字符串
    /********************************************************************************************************** filename: Zqh_栈实现.c* author : [email protected]* date : 2024/05/05* function: 顺序栈实现进制转换和通过键盘输入一个包括'('和')'......
  • LLM2Vec介绍和将Llama 3转换为嵌入模型代码示例
    嵌入模型是大型语言模型检索增强生成(RAG)的关键组成部分。它们对知识库和用户编写的查询进行编码。使用与LLM相同领域的训练或微调的嵌入模型可以显著改进RAG系统。然而,寻找或训练这样的嵌入模型往往是一项困难的任务,因为领域内的数据通常是稀缺的。但是这篇论文LLM2Vec,可以将......
  • Golang:go-humanize将文件大小转换成Kb、Mb、Gb适合人类阅读的单位
    Golang:go-humanize将文件大小转换成Kb、Mb、Gb适合人类阅读的单位原创 吃个大西瓜 CodingBigTree 2024-05-0408:30 云南​最近去了昆明的教场中路体验了满屏蓝花楹,感受到了梦幻般的世界,随手拍了一张图,分享给大家,有时间可以去一趟,体验一次,顺便说一下,美女很多喔 ......
  • WPF上位机 - 使用转换器实现TIA Wincc中的文本列表功能
    TIAwincc中可以根据变量的值,显示出定义的文本。在WPF中可以通过转换器实现。使用哈希表存储变量和文本,根据变量值返回对应的文本显示在View中usingSystem;usingSystem.Collections.Generic;usingSystem.Globalization;usingSystem.Linq;usingSystem.Text;usingSy......
  • WPF上位机 - 使用转换器实现TIA Wincc中的位控制可见性或外观功能
    在TIAWincc中有这样的功能,使用Trueorfalse控制控件的可见性或者外观的情况。在上位机中需要使用转换器这样对Trueorfalse值转换为需要的笔刷或者Visible属性。usingSystem;usingSystem.Collections.Generic;usingSystem.Globalization;usingSystem.Linq;using......
  • AWS S3 Lambda Python脚本函数实现图片自动转换为webp并上传至s3
    AmazonS3自动转换图片格式 AmazonS3存储桶新增文件自动触发AWSLambda。Lambda取S3文件做转换并存回去S3同一个目录下,并增加相应的后缀名。并且支持通过APIGateway的方式触发对图片进行修改并输出。本Lab使用PythonPillow做图片转换,读者可以参考Pillow文档......
  • 模拟集成电路设计系列博客——6.2.2 基于R-2R的转换器
    6.2.2基于R-2R的转换器为了避免二进制权重转换器中的巨大电阻比例,可以通过引入串联电阻来使得阵列中的信号缩放,如下图所示:注意此处的节点电压\(V_A\)等于参考电压\(V_{ref}\)的四分之一,作为\(3R\)的串联电阻引入的结果。同时注意一个额外的\(4R\)被添加在地处,从而使得从\(3R\)......