如果 x < 10,则添加前导 0 并将其存储为 int

Add leading 0 if x < 10 and store it as an int

本文关键字:int 存储 添加 lt 如果      更新时间:2023-10-16

我正在开发一个小型的"Time"函数库,只是为了了解有关如何使用C++和函数的更多信息。

我有一个叫做Time(int hh, int mm, int sec)的函数

如果用户输入Time(11, 9, 14),我想要 我想将此值存储在内存中,作为以后使用hh = 11; mm = 09; sec = 14;

我知道,如果我使用cout我本可以使用cout << setw(2) << setfill('0') << mm << endl;

但是现在我想直接将值存储为 int,我该怎么做?

我试过time = (tt > 10) ? 0 + mm : mm;但我想这就像做基本的加法 0+9 = 9。

不要。

数字就是数字。

您正在存储值"九"。这可以写成十进制文字9,或八进制文字010,或十六进制文字0x09,或十六进制文字0x0000000009,或英语"九",或法语"neuf"......

...或者作为格式化的、零填充的字符串"09"这在C++中是可能的,但完全没有意义,因为你牺牲了对算术的直接访问,失去了价值验证,现在必须将其转换回数字才能用它做任何有趣的事情。

您要查找的值已经存在(实际上在内部存储为二进制位序列(。信息"将其零填充为两个十进制数字"不是值的一部分,而是屏幕上可能表示的一部分。

只需将9存储在int中,并在要输出时对其进行格式化即可。