问题标签 [printf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
14 回答
12131 浏览

java - 为什么 String 的 format(Object... args) 被定义为静态方法?

我想知道为什么Java 5 及更高版本使用 String 类中的静态方法提供了一个 printf 样式的格式化程序,如下所示:

代替

这样我们就可以写"%02d".format(5)get05而不是String.format("%02d", 5).

我想如果我可以修改 String 类,我可以添加这个:

得到相同的结果。

我发现在 C# 中,也使用静态方法而不是实例方法。

我想知道他们为什么决定这样做,但我没有做出解释。实例方法trimsubstring返回一个新的字符串实例,所以他们应该对format.

此外,该DateFormat课程还使用了这个:

用于格式化日期。因此,如果我们将 DateFormat 的实例视为格式化程序,则 String 的实例也可以用作格式化程序。

有任何想法吗?

0 投票
5 回答
6771 浏览

perl - 如何在 Perl 中 sprintf 一个大数字?

在 Windows 32 位平台上,我必须阅读一些数字,这是出乎意料的,它们的值可能高达 99,999,999,999,但仅此而已。尝试对sprintf("%011d", $myNum)它们输出溢出:-2147483648。

我不能使用 BigInt 模块,因为在这种情况下,我应该深入更改代码。我无法将格式管理为字符串, sprintf("%011s", $numero),因为减号处理不正确。

我该如何管理?打包/解包会有所帮助吗?

0 投票
8 回答
17919 浏览

ruby - 如果浮点组件不是 .00 sprintf/printf,则仅显示小数点

我非常格式化浮点数,但如果没有相关的浮点数,我希望它显示为整数。

IE

  • 1.20 -> 1.2x
  • 1.78 -> 1.78 倍
  • 0.80 -> 0.8x
  • 2.00 -> 2x

我可以通过一些正则表达式来实现这一点,但想知道是否有一种sprintf-only 方法可以做到这一点?

我在红宝石中相当懒惰地这样做:

0 投票
1 回答
22781 浏览

c++ - 浮点错误 -1.#J 是什么意思?

最近,有时(很少)当我们从应用程序导出数据时,导出日志包含看起来像“-1.#J”的浮点值。我无法重现它,所以我不知道浮点数在二进制中的样子,或者 Visual Studio 如何显示它。

我尝试查看 printf 的源代码,但没有找到任何东西(虽然不是 100% 确定我查看了正确的版本......)。

我试过谷歌搜索,但谷歌似乎丢弃了任何#。而且我找不到任何浮动错误列表。

0 投票
6 回答
7548 浏览

java - C 的 printf %g 格式说明符的 Java 等价物是什么?

我尝试使用 Formatter.format,但这似乎将尾数留在尾数为 0 的数字上,而 C 版本则没有。Java中是否有相当于C的 %g 格式说明符,如果没有,有没有办法伪造它?出于兼容性原因,我的意图是保留尾数与 C 完全相同。

foo.c

主.java

安慰:

类似地,以 1.2 作为输入,尾数在 Java 版本中更长

0 投票
13 回答
151034 浏览

bash - 使用 printf 将整数 ASCII 值转换为 BASH 中的字符

性格到价值的作品:

我有两个问题,第一个最重要:

  • 我如何取 65 并将其变成 A?
  • \'A 使用 printf 将 ASCII 字符转换为其值。语法是特定printf还是在 BASH 中的其他任何地方使用?(这么小的字符串很难用谷歌搜索。)
0 投票
2 回答
141 浏览

c++ - 从单独的库调用 swprint 失败

我面临一个奇怪的问题。我根据构建定义使用 sprintf 或 swprintf 是否有 unicode。我已经将这些函数包装在我自己的函数中,如下所示:

这些函数位于 String 类中,该类是一个单独的项目,并被编译为 lib。我在另一个程序中使用它。现在如果我使用 mysprintf()

我在字符串缓冲区中得到了一些垃圾值。但是,如果我直接从程序中调用 swprintf 函数,它就可以正常工作。我在构建中定义了 UNICODE,并且确实调用了函数 swprintf,但它填充了一些垃圾值。我不明白出了什么问题。

谢谢阿米特

0 投票
13 回答
173996 浏览

c - 在嵌入式 C 中使用带有 sprintf() 的浮点数

伙计们,我想知道float变量是否可以在sprintf()函数中使用。

就像,如果我们写:

其中adc_read是一个整数变量,它将存储字符串

"adc_read = 1023 \n"

str(假设 adc_read = 1023

如何使用浮点变量代替整数?

0 投票
6 回答
1978 浏览

c++ - c++ 如果使用 sprintf 打印的字符多于 char 指针分配的字符,会发生什么情况?

我认为这是使用 sprintf 的常用方法:

但究竟会发生什么,如果 char 指针分配的内存比打印到的少?

即如果x 小于sprintf 的第二个参数的长度怎么办?

我在问,因为我在 sprintf 语句之后的代码中出现了一些奇怪的行为。

0 投票
1 回答
837 浏览

visual-c++ - 我应该将 CString 传递给 Format/printf (以及一般的可变参数)吗?

我最近接了一个小型的MCF C++应用程序,它显然处于工作状态。首先,我在代码上运行 PC-Lint,而 lint 抱怨 CStringT 正在传递给 Format。互联网上的意见似乎存在分歧。有人说 CSting 旨在无错误地处理这个用例,但其他人(以及MSDN 文章)说它应该在传递给可变参数函数时始终被强制转换。Stackoverflow 可以就这个问题达成任何共识吗?