数量
以语法为基础的数字格式 数字.js
图书馆的工作如下:
- 解析用户格式
- 从解析格式创建配置
- 使用生成的配置格式
解析器来自 标签 语法.
图标
更改语法后,您需要重新生成语法。 pegjs:
yarn generate
运行测试 :
yarn test
运行事项( prettier) :
yarn fmt
开始
import { createConfig, format } from "@betty-blocks/number-formatter";
const myFormat = "0_0,00";
// create a config from your format
const { config } = createConfig(myFormat);
const myNumber = 123123.123;
// prints 123_123,12
console.log(format(myNumber, config));
其他实例:
import { createConfig, format } from "@betty-blocks/number-formatter";
const formatNumber = (number: number, formatConfig: string): string => {
let { config, error } = createConfig(formatConfig);
if (error) {
return error;
}
return format(number, config);
};
import { createConfig, format } from "@betty-blocks/number-formatter";
import { Config } from "@betty-blocks/number-formatter/src/types";
const DEFAULT_FORMAT = "0.00";
const formatNumbers = (numbers: number[], formatConfig: string): string[] => {
let {config, error} = createConfig(formatConfig);
if (error) {
{config} = createConfig(DEFAULT_FORMAT)
}
return numbers.map((number) => format(number, config));
};
特征
十进制/分数分隔器
将使用第一个遇到的当前允许的符号是: , . _ :
| 格式 | 投入 | 结果 |
|---|---|---|
| 0.0 数据 | 123.123 联合国 | 123.1 国家 |
| 0.0万个 | 123.12313 (中文(简体) ) | 123.123 联合国 |
| 0,0 (韩语) | 123.123 联合国 | 123,1项 |
千位分隔符
将使用在 [] 或如果遇到两个小数点分隔符.
| 格式 | 投入 | 结果 |
|---|---|---|
| 0, 0.0 (韩语) | 123123.123 (英语) | 123,123.1 (中文(简体) ) |
| 0[],00 | 123123.123 (英语) | 123,12 (单位:千美元) |
| 0[0]. | 123123.123 (英语) | 12323 (英语) |
| 0: 00 (中文(简体) ) | 123123.123 (英语) | 123 123:12 (中文(简体) ) |
强制标志
| 格式 | 投入 | 结果 |
|---|---|---|
| +0.0 键 | 23.123 (中文(简体) ) | +23.1 键 |
| +0.0 键 | -23.123 - 23.123 (英语) | -23.1岁 |
左侧粘贴
在左边添加零
| 格式 | 投入 | 结果 |
|---|---|---|
| 0.0 数据 | 23.123 (中文(简体) ) | 第23.1条 |
| 00000.0 (英语) | 23.123 (中文(简体) ) | 00023.1 (中文(简体) ) |
| 00000 (英语). | 23.123 (中文(简体) ) | 00023 (英语) |
可选分数
允许小数点后有弹性数字.
| 格式 | 投入 | 结果 |
|---|---|---|
| 0.0[000] (中文(简体) ) | 23.123 (中文(简体) ) | 23.123 (中文(简体) ) |
| 0.0[000] (中文(简体) ) | 第23条 | 23.0 (韩语) |
| 0.0[00] (中文(简体) ) | 23.123 (中文(简体) ) | 23.123 (中文(简体) ) |
| 0.0[00] (中文(简体) ) | 第23.12346789号 | 23.123 (中文(简体) ) |
| 0.0[00] (中文(简体) ) | 第23.1条 | 第23.1条 |
函数
数字
或作后事,衔克克.
后缀1、2和3 st, (中文(简体) ), nd 财务报告和审定财务报表 rd 其他数字得到 th 后缀
| 格式 | 投入 | 结果 |
|---|---|---|
| 零点 | 23.123 (中文(简体) ) | 第23次 |
| 零点 | 1个 | 第1个 |
平均数
如果数字小于 1000, 则没有后缀
如果数字在1000到999999之间,则 k 后缀
如果数字大于 1000 000 得到一个 m 后缀
| 格式 | 投入 | 结果 |
|---|---|---|
| 0.0a (单位:千美元) | 1230000 (英语) | 1.2m (单位:千美元) |
| 0. a 数 | 第1234条 | 1个k |
| 0. a 数 | -104321号 | -104克 - 104克 - 10个 |
| 0. a 数 | 第1234条 | 1个k |
| 0.a (单位:千美元) | -104321号 | -104k (英语) |
| 0.000a (单位:千美元) | 10230000000 (英语) | 1.023b (单位:千美元) |
货币
遇到的任何文字都将用作货币符号
| 格式 | 投入 | 结果 |
|---|---|---|
| 0块. | 123.23 联合国 | 123美元 |
| 0美元 (单位:美元) | 123.23 联合国 | 123美元 |
| 0.00欧元 | 123.23 联合国 | 123,23欧元 |
| "MyCurrent" 0. 0 (英语) | 123.23 联合国 | 紧急情况 123.23 |