Development Tip

가장 가까운 달러로 반올림 된 통화를 더블로 포맷하려면 어떻게합니까?

yourdevel 2020. 12. 7. 20:58
반응형

가장 가까운 달러로 반올림 된 통화를 더블로 포맷하려면 어떻게합니까?


지금 나는

double numba = 5212.6312
String.Format("{0:C}", Convert.ToInt32(numba) )

이것은 나에게 줄 것이다

$5,213.00

하지만 ".00"은 원하지 않습니다.

효과를 내기 위해 매번 문자열의 마지막 세 문자를 삭제할 수 있다는 것을 알고 있지만 더 쉬운 방법이 있어야 할 것 같습니다.


첫째-통화를 유지하지 말고 대신 doublea를 decimal사용하십시오. 매번. 그런 다음 "C0"을 형식 지정자로 사용합니다.

decimal numba = 5212.6312M;
string s = numba.ToString("C0");

이 작업을 수행해야합니다.

String.Format("{0:C0}", Convert.ToInt32(numba))

다음의 숫자 C는 포함 할 소수 자릿수를 지정합니다.

decimal그러나 그러한 숫자를 저장하기 위해 유형을 사용하고 싶어한다고 생각합니다 .


Console.WriteLine(numba.ToString("C0"));

목표를 달성하는 올바른 방법은 다음과 같습니다.

Thread.CurrentThread.CurrentCulture.NumberFormat.CurrencyDecimalDigits = 0;

그런 다음에 만 Format 호출을 수행해야합니다.

String.Format("{0:C0}", numba) 

 decimal value = 0.00M;
        value = Convert.ToDecimal(12345.12345);
        Console.WriteLine(".ToString(\"C\") Formates With Currency $ Sign");
        Console.WriteLine(value.ToString("C"));
        //OutPut : $12345.12
        Console.WriteLine(value.ToString("C1"));
        //OutPut : $12345.1
        Console.WriteLine(value.ToString("C2"));
        //OutPut : $12345.12
        Console.WriteLine(value.ToString("C3"));
        //OutPut : $12345.123
        Console.WriteLine(value.ToString("C4"));
        //OutPut : $12345.1235
        Console.WriteLine(value.ToString("C5"));
        //OutPut : $12345.12345
        Console.WriteLine(value.ToString("C6"));
        //OutPut : $12345.123450

콘솔 출력 화면을 보려면 클릭하십시오.

이것이 당신을 도울 수 있기를 바랍니다 ...

감사. :)


단순한: numba.ToString("C2")

더 많은 @ http://msdn.microsoft.com/pt-br/library/dwhawy9k(v=vs.110).aspx#CFormatString

참고 URL : https://stackoverflow.com/questions/890100/how-do-i-format-a-double-to-currency-rounded-to-the-nearest-dollar

반응형