float 숫자가 7.64 인 경우 inbuilt 함수/라이브러리를 사용하여 WITHOUT 문자열로 변환하십시오. 이 문제는 Java에서 쉽게 나타납니다. + 연산자는 문자열 과부하 같이 먹 float에서 문자열로 변환시 오류가 발생했습니다.
class Float2String
{
public static void main(String[] args)
{
float f=7.64f;
String result;
result=""+f;
System.out.println(result);
}
}
그러나
제가 그렇게하려고으로 C에 .. 할 수 여기int main()
{
float f =2.44;
int i, j = 0;
i = (int) f;
f = f - i;
while(f > 0) {
f *= 10;
j = (j*10) + (int) f;
f = f - (int) f;
}
//now make itoa() to convert i and j to strings .
return 0;
}
문제 부동 소수점 에러 루프 동안 같은 잠입하기 시작한다는 것이다 가는 j는 잘못된 십진수 부분을 남겨 둡니다. 예를 들어 위의 f 값이 다음과 같이 변합니다.
c 또는 C++에서이 문제를 해결하는 방법.
염두에 두어야 최소 부동 소수점 값 조금 이상하다. –
다른 해결책을 요구하고 있습니다. @KevinWorkman –
어, 알겠습니다. 내 유일한 요점은 내장 함수를 사용하지 않고 Java에서이 작업을 수행 할 수 있다는 귀하의 진술이 정확하지 않다는 것입니다. –