本文介绍了找到"字符串长度QUOT;一个int的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

基本上我想要返回的位数在INT - >值是这样的:

basically I want to return the number of digits in the int -> values like this:

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

我一无所知C,所以请多多包涵。我知道目标C,但我用整型和浮点型,而不是NSNumbers。我知道我可以在整数转换成目标C对象,但这似乎faffy,如果我可以用C做,我就知道它的未来。

I know nothing about C, so please bear with me. I know objective c, but I use ints and floats instead of NSNumbers. I realise I could convert the ints into objective c objects, but this seems faffy, and if I can do it with C I'll know it for the future.

感谢

推荐答案

使用

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

请注意,对于负数,这并不工作,你将不得不使用

Note that this doesnt work for negative numbers, you'll have to use

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

这为负号加1,如果是负的。

这篇关于找到&QUOT;字符串长度QUOT;一个int的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-21 02:30