- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
是否有可能为 java.text.MessageFormat 定义一种格式,该格式可以在不使用 .toString() 对分隔符和其他对象进行分组的情况下格式化数字?
我的麻烦是,我必须格式化一个我事先不知道的参数,无论它是否是数字。如果我只是使用
java.text.MessageFormat.format("The object: {0}",someobject)
通常只是按照我的需要调用 someobject.toString()
,但是当 someobject
实际上是一个数字 1231231
时,它会返回(在德语语言环境中)The object: 1,231,231
,但我想要这里的 The object: 1231231
。使用
java.text.MessageFormat.format("{0,number,#}",1231231)
返回对象:1231231
,但是当参数不是数字时,这不起作用。有没有办法指定适用于数字和其他对象的格式?
(如果您想知道:不幸的是,更改 MessageFormat 的区域设置不是一个选项,因为它深深地埋在 JBoss 的日志框架中并且无法访问。)
更新:在将 String.valueOf(someobject) 作为参数传递之前调用它确实可以解决此问题,但在我的情况下也是不可行的,因为此问题在日志记录时发生,并且当日志记录级别不允许日志消息并且因此从未应用 MessageFormat 时,我不想调用可能昂贵的 someobject.toString() 。
最佳答案
final String format = MessageFormat.format("The object: {0}", a == null ? null : a.toString());
System.out.println("format = " + format);
关于java.text.MessageFormat 不带数字分组分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41825415/
如果有的话我找不到我的错误。 我将 2 和 1 作为 MessageFormat 的参数,但它返回 1 和 1. 我无法克服这个问题。我也找不到任何有关它的已知问题。 有办法解决这个问题吗? 我的代码
我有一个像这样的字符串: {0}/suhdp run -command "suhilb" -input /sufiles/{1} -output /seismicdata/mr_files/{2}/
这是从文件中读取的字符串模板。 Dialogue: {0} Dialogue: {1} 从文件中读取后,我想使用给定的数组格式化该字符串。 var sentences = arrayOf("hello
我在 strings.xml 文件中定义了一个字符串: Here\'s a song I\'ve created just for you\! {0} 然后我获取该字符串并使用 MessageForm
在 Java MessageFormat 中处理空值的最佳方式是什么 MessageFormat.format("Value: {0}",null); => Value: null 但实际上“值:”会
我试图用 java.text.MessageFormat 做一个简单的逻辑: MessageFormat cf = new MessageFormat( "{0,choice, 1(Unknown S
我在使用 java.text.MessageFormat 对象时遇到问题。 我正在尝试创建 SQL 插入语句。问题是,当我做这样的事情时: MessageFormat messageFormat =
我有以下 JSON 格式的字符串: String message = "{ \"message\": \"Hello World!\" }"; 但我想将其设置为使用 MessageFormat: St
在Java中使用MessageFormat类在字符串中传递不同的变量时 System.out.println(MessageFormat.format("I want to resolve this
我正在使用 DisplayTag 表库来呈现我的表,它提供了为数据指定 messageFormat 模式的选项。我很难找到正确的格式以下是我尝试编写的格式 1. given a double pr
是否建议使用java.text.MessageFormat对字符串进行操作?或者有什么替代方案吗? 最佳答案 恕我直言,MessageFormats当您需要在外部定义它们时特别有用,例如通过资源。 您
我有一组由 Java 生成的步行图。整个图表的标签在Calibri 8中是一致的。除非该值为 0.00,这在 Arial 8 中很突出。 我追踪到这个类: import java.text.Messa
我的应用程序使用 log4j 进行日志记录,通常我通过检查是否启用特定级别来进行日志记录,然后像下面这样记录 if(Logger.isApplicationDebugEnabled()){ Lo
我正在尝试修复禁用 api 的错误。我有一个错误,内容是: [forbiddenapis] Forbidden method invocation: java.text.MessageFormat#f
是否可以在 logback 中使用 MessageFormat? 我看到它使用 slf4j MessageFormatter,因为它更快,如这里所述: Out of curiosity -- why
我明白了,在 Java 中你可以用 MessageFormat 和一个像 "You said {0} just now" 这样的字符串 StringBuffer 和类似的结构 StringBuffer
是否有可能为 java.text.MessageFormat 定义一种格式,该格式可以在不使用 .toString() 对分隔符和其他对象进行分组的情况下格式化数字? 我的麻烦是,我必须格式化一个我事
我用过MessageFormat使用参数格式化文件的内容并获取具有正确参数的格式化字符串。(我用它来格式化电子邮件正文。最后我每个电子邮件正文都有一个文件,应用程序需要发送很多不同的电子邮件,所以我得
在我当前的项目中,我们使用字符串的属性文件。然后使用 MessageFormat 对这些字符串进行“格式化”。不幸的是,MessagFormat 对单引号的处理在使用大量撇号的语言(例如法语)中成为一
我传递的文本是 {} 填充符和文本的组合。我正在尝试用一些值填充 {} 并尝试使用 MessageFormat。 String sss = "{0}SomeText{1}\'.{2}SomeText{
我是一名优秀的程序员,十分优秀!