不需乘以100即可格式化NumeralJS百分比

5
在Handsontable中,您可以在numeric单元格上使用format选项来相应地格式化值。由于它使用NumeralJS,我查看了文档,以查看如何仅添加%符号而不乘以100来格式化数字,但未找到如何在没有设置我的情况下执行此操作的方法。
示例单元格:
{
    "type": "numeric",
    "format": "0.00%"
}

当值为7时,它显示"700.00%"。我希望它显示"7.00%"。在handsontable中有什么方法可以做到这一点吗?

3个回答

6

2

我认为目前没有办法在不更改numeral.js文件的情况下实现这一点。

如果你愿意,你可以编辑numberal.js中的function formatPercentage函数,删除* 100部分:

function formatPercentage (n, format, roundingFunction) {
    var space = '',
        output,
        value = n._value/* * 100*/; // comment out or remove * 100 here

    ...
}

好的,知道了。我最终使用自定义渲染器手动使用正则表达式进行格式化,但这也可以。 - ZekeDroid
不幸的是,我不得不修改 numeral.js。 - Csaba Toth
提交了一个PR,但是看到未合并的PR数量,我对此并不太乐观。 - Csaba Toth

0
也许比覆盖数字JS逻辑更好的方法是,您可以将数字转换为所需的小数精度,然后在末尾连接百分号。
formatPercent(number) {
    return `${numeral(number).format('0.00')}%`;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接