ExtJS数字格式化。小数点后3位。

4

使用ExtJS4.1,我得到了一个浮点数JSON响应。如何将浮点值格式化为小数点后3位?以下是示例,请帮助。

enter code here

Example:

{ 
header: 'Total', 
sortable: true, 
dataIndex: 'total', 
field: { xtype: 'numberfield' }, 
renderer: this.onRenderCell 
}

onRenderCell : function(value, metaData, record, rowIndex,colIndex, store, view){
   Ext.util.Format.numberRenderer(value,'0.000');
   return value;            
}
------------------------------------------------------------------------
2个回答

9
你可以使用number(v, format)函数,例如:
Ext.util.Format.number(1.23456, '0.000');

将返回:

"1.235"

您尝试的 numberRenderer 函数返回一个函数。


0

这个功能在版本4.2.0.663中完全有bug...

当你做类似的事情时

Ext.util.Format.number("1.23456", '0,000')

你得到的是1而不是1,234,这显然是错误的...

这里有一个测试用例。如果我错了,请随意纠正。 http://jsfiddle.net/gT9jj/1/


иҝҷжҳҜеӣ дёәеә”иҜҘдҪҝз”ЁExt.util.Format.number("1.23456", '0.000')гҖӮжӮЁеңЁжЁЎжқҝжҺ©з ҒдёӯдҪҝз”ЁдәҶйҖ—еҸ·иҖҢдёҚжҳҜеҸҘзӮ№гҖӮ - Maxim Kumpan
噗呼,这是一篇旧帖子。但仍然是错误的...我想要的输出是1,2345而不是1.2234。为什么我必须提供输入格式而不是输出格式? - Sangoku
可能有点老了,但我确实遇到过它。其他人也可能会遇到同样的问题 - 我只是指出了问题。抱歉,我还没有必要调查更改分隔符的需求。 - Maxim Kumpan
问题在于输出分隔符会被打印出来,该函数忽略全局设置和输入设置... - Sangoku
@MaximKumpan 仍然是正确的,而且这是旧的……数字的格式化小数分隔符不会因此函数而改变。分隔符由您使用的机器的设置确定。在格式字符串中,,定义千位分隔符,.定义小数分隔符,无论机器设置如何。0,000.00是正确的,fiddle 中的 0.0,000 是不正确的。逗号永远在点之前。 - Asken
您可以在此处查看您的系统正在使用哪个:http://chris.photobooks.com/tests/overflow/1074660.htm - Asken

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