2010-02-09 4 views
2

파일에 이중 값을 쓰고 있습니다. 숫자 값은 점으로 소수점 구분 기호로 쓰여집니다. 쉼표를 사용하고 싶습니다. 내가 어떻게 할 수 있니?C++ 10 진수 출력 형식

+0

코드를 입력하지 않고 추천 코드를 작성하면 제안을하기가 어렵습니다. –

답변

3

일반적인 방법은 소수점 구분 기호가 쉼표로 설정된 로캘을 사용하는 것입니다. 귀하의 컴퓨터가 일반적으로 그것을 위해 구성되어 있다면 아마도 이름없는 로케일을 사용할 수 있습니다 :

std::cout.imbue(std::locale("")); 
std::cout << 12345.67; 
-1

가 나는 플로트 또는 더블에 플로트 또는 더블 및 포인터를 소요하고 정수를 반환 modf는라는 함수가

cmath 도서관에서 생각합니다. 그래서

double intPart; 
double fractPart; 
fractPart = modf(doubleValue, &intPart); 

당신이 두 배 값을 전달, 그것은 정수로 소수 부분을 반환하고 정수 값은 전달 된 포인터에 저장됩니다.

그런 다음 파일이 쓸 수 그러나 원하는 것은 중간에 쉼표를 붙이거나 다른 두 개의 숫자로 씁니다. float 또는 double

2

대답은 earlier question 입니다.이 질문은 기본적으로 사용중인 스트림에서 사용되는 로캘을 변경합니다.