# math.format 库模块帮助文档

## math.format 成员列表 <a id="math.format" href="#math.format">&#x23;</a>

### math.format.getDecimalPoint() <a id="math.format.getDecimalPoint" href="#math.format.getDecimalPoint">&#x23;</a>
获取当前区域设置的小数点

### math.format.getThousandSeparator() <a id="math.format.getThousandSeparator" href="#math.format.getThousandSeparator">&#x23;</a>
返回当前区域设置的千位分隔符

### math.format.size <a id="math.format.size" href="#math.format.size">&#x23;</a>
将数值转换为带有单位前缀的字符串。  
\如果仅仅需要格式化字节单位，可使用 math.size64 对象的 format 方法。  
math.format.size 则不仅仅用于格式化字节单位，并且提供了更多参数选项。

### math.format.size(number,fmt,kSize,precision) <a id="math.format.size" href="#math.format.size">&#x23;</a>
所有参数都是可选参数。  

- 参数 @number 指定要格式化的数值（默认为 0）。  

- 参数 @kSize 指定 1K 表示的大小，默认为 1000。  

- 参数 @fmt 指定格式化字符串。  
  格式化字符串可选包含 `%s%s`，  
  第一个 `%s` 用于输出转为字符串的数值，第二个  `%s` 用于输出 K,M,G 等单位缩写。  

  如果格式化串不包含 `%s`则将 @fmt 作为附加后缀输出，  
  如果这种附加后缀第一个字符不是空格，则在数值与 K,M,G 等单位缩写之间插入空格。  

  @fmt 可以用逗号分隔两个格式化串，逗号前的部分用于格式化小于 1K 的数值，例如。  

- 参数 @precision 指定小数精度，默认为 2。

### math.format.thousands <a id="math.format.thousands" href="#math.format.thousands">&#x23;</a>
将数值添加千位分隔符。  
此函数默认使用区域设置指定的千位分隔符，也可以使用参数自定义分隔符。  
注意在 aardio 代码中数值允许使用下划线作为分隔符或千位分隔符。

### math.format.thousands(value,separator,precision) <a id="math.format.thousands" href="#math.format.thousands">&#x23;</a>

```aardio
参数 @value 可指定数值、math.size64 对象、字符串、buffer 等。  
仅指定数值参数时参数 @precision 有效（用于指定小数位精度）。  
如果指定数值则首先调用 math.stringify 格式化为字符串。  

可选用参数 @separator 自定义千位分隔符。  
默认调用 math.format.getThousandSeparator 获取区域设置的千位分隔符。  
此函数会在当前线程缓存默认的千位分隔符以避免重复获取，  
每次 math.format.getThousandSeparator 被调用时也会刷新此默认值。
```

