integer part
의 double
을 받고 싶습니다. 그러나이 방법은 나를 위해 작동하지 않습니다두 배에서 장시간으로 변환하는 우아한 방법이 있습니까?
double param, fractpart, intpart;
param = 3.14159265;
fractpart = modf (param , &intpart);
printf ("%f = %f + %f \n", param, intpart, fractpart);
그것은 사실로 인해, 그 double integer
이 e-notation
을 가질 수있다. 예를 들어, 3.41e10
은 올바른 이중 번호입니다.
내 테스트 케이스는 다음과 같습니다
- 더블 -> 오래 오래
- 234343.0 -> 234,343
- 3.41e10 -> 34100000000
- 19.999999999 -> 19
- -10.1 -> - 10
- -0.0000001 -> 0
내 작업을 완료하는 아름다운 방법이 있습니까?
부동 소수점을 포함하는 문자열을 'long long'또는 실제'double' 변수로 변환하는 것에 대해 이야기하고 있습니까? – Columbo
@Columbo, 사실, 두 변수가 있습니다. 그러나, double -> string -> long long을 캐스팅해야한다면, 너무 좋습니다. – Denis
XY 문제가 있습니까? 왜 전자 표기법이 중요할까요? – cppguy