如何将销售价值从 9999.99 转换为 9.999,99

Posted

技术标签:

【中文标题】如何将销售价值从 9999.99 转换为 9.999,99【英文标题】:How to conver SALES VALUE from 9999.99 to 9.999,99 【发布时间】:2019-10-21 13:12:54 【问题描述】:

目前正在寻找一种将 99999.99 转换为 9.999,99 格式的简单方法:

这是我目前拥有的:

CREATE TEMP FUNCTION FORMAT_DE_VALUE(number FLOAT64)
RETURNS STRING
LANGUAGE js 
AS """
return number.toFixed(2) + ' €';
""";

尝试 1:

return number.toLocaleString('de-DE', style: 'currency', currency: 'EUR' );

NO 成功 - 号码保持不变

【问题讨论】:

Regular Expression for formatting numbers in javascript的可能重复 99999999999.99 .toFixed(2) .replace(".", ",") .replace(/(\d)(?=(\d3)+(?!\d))/g, ".$1") @kemicofa 正则表达式不适用于 BigQuery - Syntax error: Illegal escape sequence: \d at 【参考方案1】:

如果您不能使用正则表达式,那么您可以尝试使用 QoL Array 方法的类似方法。

我们的想法是从相反的方向开始,并将列表中的每个项目作为一个最多包含三位数字的字符串。

const [whole, dec] = 9999999.99
.toFixed(2)
.split(".");

const res = whole
.split("")
.reverse()
.reduce((acc,cur)=>
  if(acc[0].length === 3)
    acc.unshift("");
  
  acc[0] = cur + acc[0];
  return acc;
, [""])
.join(".")
.concat("," + dec)

console.log(res);

【讨论】:

以上是关于如何将销售价值从 9999.99 转换为 9.999,99的主要内容,如果未能解决你的问题,请参考以下文章

如何将查询结果中的值转换为变量和变量值?

从日期选择器中获取价值

LeetCode面试刷题技巧-二分查找算法(下):通过 LeetCode 学习二分查找算法-销售价值减少的颜色球

谷歌表格:将百万/十亿的价值转换为数字

c# 为啥从sql server中提取float型,提取9.99结果却是9.9900000000000002

我要创建付费销售发票的透明报表