- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
public static final int MAX_DIGITS = 10;
String intToStr( int num ){
int i = 0;
boolean isNeg = false;
char[] temp = new char[ MAX_DIGITS + 1 ];
if( num < 0 ){
num *= -1;
isNeg = true;
}
// Fill buffer with digit characters in reverse order
while(num != 0){
temp[i++] = (char)((num % 10) + ‘0’);
num /= 10;
}
StringBuffer b = new StringBuffer();
if( isNeg )
b.append( ‘-’ );
while( i > 0 ){
b.append( temp[--i] );
}
return b.toString();
}
我能否获得一些帮助来理解以下代码行:
// Fill buffer with digit characters in reverse order
while(num != 0){
temp[i++] = (char)((num % 10) + ‘0’);
num /= 10;
}
据我了解,如果 num = 732,且 i = 0:
temp [0] = "2"; //732 % 10 = 73.2 so 2 is the remainder?
num = 73.2; //732 divided by 10
temp [1] = "32"; //73.2 % 10 = 7.32 so 32 is the remainder?
num = 7.32; //73.2 divided by 10
temp [2] = "732"; //7.32 % 10 = 0.732 so 732 is the remainder?
num = 0.732; //7.32 divided by 10
num 现在小于零,所以继续。
然而,现在我们正在倒退:
while( i > 0 ){
b.append( temp[--i] );
}
但是我从物理计算中看到的是:
String str = temp[2] + temp[1] + temp[0];
str = "732" + "32" + "2";
实际发生的是 temp 正在存储:
temp[2] = 7;
temp[1] = 3;
temp[0] = 2;
获取:
str = "732";
但我不明白 temp 如何只得到一个数字。
最佳答案
那么让我们运行一下您的程序。
// Fill buffer with digit characters in reverse order
while(num != 0){
temp[i++] = (char)((num % 10) + ‘0’);
num /= 10;
}
When i is 0 and num is 732
first case
temp[0] = (char)((732%10) +'0');
temp[0] now has the value of 2
next line 732/=10
num = 73
tem[1] = (char)((73%10 +'0');
temp [1] now has the value of 3
next line 73/=10
temp[2] = (char)((7%10 +'0');
temp[2] now has the value of 7
关于C - 模 (%),如何计算 IntToString 转换的值,其中 num/= 10,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22047537/
这是学校的任务,我应该编写一个递归函数,将给定的 int 转换为字符串,我知道我很接近,但我无法指出我的代码中缺少的东西,欢迎提示. void intToStr(unsigned int num, c
尝试在 showmessage 弹出窗口中打印索引会出现编译时错误。 [dcc32 Error] Unit.pas(57): E2003 Undeclared identifier: 'IntToSt
我想知道是否有比 System.IntToStr/System.StrToInt 更快的替代方案。有一个快速版本,但只有 UTF8。这是来自 SynCommons.pas 的 Int32ToUTF8,
这个问题已经有答案了: String valueOf vs concatenation with empty string (10 个回答) 已关闭 7 年前。 有几个人告诉我这样的事情非常懒: in
public static final int MAX_DIGITS = 10; String intToStr( int num ){ int i = 0; boolean isNe
我可以在 C++Builder 6 中成功编译以下代码片段,但我无法在 RAD Studio Seattle 中编译它: unsigned long x = 50; String s = In
我是一名优秀的程序员,十分优秀!