值中的位数,如下所示: (int)1 => 1 (int)123 => 3 (int)12345678 => 8 我对C一无所知,所以请多多包涵。我知道 objectiv-6ren">
gpt4 book ai didi

c - 找到一个 int 的 "string length"

转载 作者:太空狗 更新时间:2023-10-29 17:14:03 26 4
gpt4 key购买 nike

基本上我想返回 int -> 值中的位数,如下所示:

(int)1 => 1
(int)123 => 3
(int)12345678 => 8

我对C一无所知,所以请多多包涵。我知道 objective-c ,但我使用整数和 float 而不是 NSNumber。我意识到我可以将整数转换为 objective-c 对象,但这看起来很愚蠢,如果我可以用 C 做到这一点,我将来就会知道。

谢谢

最佳答案

使用

int d = (value == 0 ? 1 : (int)(log10(value)+1));

请注意,这不适用于负数,您必须使用

int d = (value == 0 ? 1 : ((int)(log10(fabs(value))+1) + (value < 0 ? 1 : 0)));

如果 value 为负数,则减号加 1。

关于c - 找到一个 int 的 "string length",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4143000/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com