java - 如何设置 i18n 格式字节数和持续时间

标签 java icu

我想格式化一条消息,例如“1.0 KiB 的数据传输花费了 1:32 小时”。但我需要格式化和本地化的字节数和持续时间。我发现了几个如何格式化字节计数的想法,持续时间似乎不错。但随着本地化的到来,我自己编写的代码变得过多。 我正在寻找如何在 ICU 库的帮助下实现此类格式化的任何想法。

最佳答案

您可以简单地使用 Java MessageFormat,它允许您将不同的 java 类型格式化为字符串;这种格式应该可以满足您的要求

final MessageFormat format = new MessageFormat("Data transfer of {0,number,0.0} KiB took {1}:{2} hours");

用法是

final String formatted = format.format(new Object[]{amountTransferred, hours, minutes});

其中 amountTransferreddoublefloatBigDecimalhours分钟是整数类型。

已经有一个post如果您需要单独执行此操作,请了解如何将分钟数格式化为 HH:mm

关于java - 如何设置 i18n 格式字节数和持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15311431/

相关文章:

c++ - 在 VS2008 下构建 ICU 示例的问题

c++ - 默认语言环境 "root"在 ICU 中如何工作?

java - ZK - 从 ItemRenderer 访问 GUI 元素

java - 在代码中发现看似毫无意义的正则表达式

JavaSound:提取立体声音频的一个 channel

c++ - 帮助编辑代码以修复 "Argument list too long"错误

java - 适用于 blob 的 Azure Java SDK - 发出了加载默认 HttpClient 提供程序的请求,但在类路径中找不到该提供程序

java - 如何调用抽象类的非抽象方法?

c - ICU 和 UTF-8 字符串的基本操作

c++ - Boost.Regex 支持 icu/unicode