Formatting 设置百分比的格式,但不乘以100

Formatting 设置百分比的格式,但不乘以100,formatting,handsontable,Formatting,Handsontable,在Handsontable中,您可以使用数值单元格上的格式选项对值进行相应的格式设置。因为它使用了numericJS,所以我查阅了文档,了解了如何格式化一个数字,使之只加上%符号,而不乘以100,但如果不设置我自己的,我就找不到如何实现这一点 示例单元格: { "type": "numeric", "format": "0.00%" } 当值为7时,它显示“700.00%”。我希望它显示“7.00%”。有没有办法在handsontable中做到这一点?我认为目前没有办法在不更改

在Handsontable中,您可以使用
数值
单元格上的
格式
选项对值进行相应的格式设置。因为它使用了numericJS,所以我查阅了文档,了解了如何格式化一个数字,使之只加上%符号,而不乘以100,但如果不设置我自己的,我就找不到如何实现这一点

示例单元格:

{
    "type": "numeric",
    "format": "0.00%"
}

当值为7时,它显示
“700.00%”
。我希望它显示“7.00%”。有没有办法在handsontable中做到这一点?

我认为目前没有办法在不更改numeric.js文件的情况下做到这一点

如果需要,可以通过删除
*100
部分来编辑
函数formatPercentage
(可在numberal.js中找到):

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

    ...
}

也许比重写Digital JS逻辑更好的是,您也可以只将数字编号为所需的十进制精度,然后在末尾连接百分比符号

formatPercent(number) {
    return `${numeral(number).format('0.00')}%`;
}

对于仍在寻找实现这一点的最简单方法的人,有一个数字选项可以设置为:

numeral.options.scalePercentBy100 = false;
创造公关的功劳。

好的,很高兴知道。我最终使用一个自定义的渲染器用正则表达式手动格式化了它,但这也行得通。不幸的是,我不得不求助于修改numeric.js。我推了一个PR,但我对未合并的PR的数量并不太乐观。