这不是一个完整的答案。但是要从您使用的 NumberFormatter 类开始(它来自什么包)。有些源是可用的,有些包含在播放器本身中并且不可访问,但是在查看 4.6 框架中 Spark 中包含的 on 时,它包含了这个类级别的注释,它提供了一些见解:
/**
* The NumberFormatter class provides locale-sensitive formatting
* and parsing of numeric values. It can format <code>int</code>,
* <code>uint</code>, and <code>Number</code> objects.
*
* <p>This class is a wrapper class around the
* flash.globalization.NumberFormatter class.
* Therefore, the locale-specific formatting
* is provided by the flash.globalization.NumberFormatter.
* However, this NumberFormatter class can be used in MXML declarations,
* uses the locale style for the requested Locale ID name, and has
* methods and properties that are bindable.
* </p>
*
* <p>The flash.globalization.NumberFormatter class use the
* underlying operating system for the formatting functionality and
* to supply the locale-specific data. On some operating systems, the
* flash.globalization classes are unsupported, on these systems this wrapper
* class provides fallback functionality.</p>
*
* @mxml <p>The <code><s:NumberFormatter></code> tag inherits all of the tag
* attributes of its superclass and adds the following tag attributes:</p>
*
* <pre>
* <s:NumberFormatter
* <strong>Properties</strong>
* negativeNumberFormat="<i>locale and OS dependent</i>"
* />
* </pre>
*
* @includeExample examples/NumberFormatterExample1.mxml
* @includeExample examples/NumberFormatterExample2.mxml
*
* @see flash.globalization.NumberFormatter
*
* @langversion 3.0
* @playerversion Flash 10.1
* @playerversion AIR 2.5
* @productversion Flex 4.5
*/
最终,尽管它声明播放器以某种方式使用底层操作系统来实现格式化。这当然是一个奇怪的问题,但如果以前从未发现过并且没有发布解释或至少是错误报告,如果它实际上是 Flash 播放器中的问题,我会感到惊讶。有关您的 SDK 版本和播放器版本的更多详细信息可能会有所帮助,您是否尝试过摆弄其中任何一个结果是否有任何变化?
另外,根据您要实现的目标,您可以通过编写自己的类来处理此案例的格式化来解决此问题,如果这只是您需要处理的一种情况,如果它更像是一个系统广泛使用的东西,需要 NumberFormatter 类的更多功能,我可以理解想要解决根本问题。