如何将销售价值从 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 学习二分查找算法-销售价值减少的颜色球