[C#] String Decimal 소수점 지정 = String.Fromat() 함수사용, 숫자 3자리(천단위)마다 콤마 찍기
C#에서 String이나, Decimal에서 소수점 지정하고 (예: 소주점 2째자리까지 자르기등)
C# .NET에서 사용하는 Format Specifier를 사용
n은 Argument 위치이며 0부터 시작합니다.
w는 출력 Width를 가리키며,
t는 출력 데이타 타입을 그리고 마지막으로
p는 정확도(Precision)을 나타냅니다.
{n,w:tp}
예를 들어 아래 예제를 살펴보면,
string.Format의 첫번째 파라미터는 Standard Format Specifier를 표현하는 것으로,
첫부분의 0은 Format Specifier다음의 첫번째 파라미터 즉 val을 입력으로 받는다는 뜻이고,
콤마 뒤의 10은 전체 넓이가 10임을 의미하며
따라서 출력변수 s는 앞의 공백을 포함하여 총 10자리를 갖게 됩니다.
10 다음의 N은 출력이 Numeric 형식으로 출력된다는 것이고,
이 형식은 만약 1000 자리마다 콤마를(Locale에 따라 다름) 표시됩니다.
마지막 N다음의 2는 소숫점 2자리까지 출력하고 싶다는 것을 나타냅니다.
또 다른 예제
문자열의 소수점 2자리로 자르기
String.Format("{0:0.00}", row["CASH_APPROVED_AMT"])
String.Format("{0:0.00}", 123.4567); // "123.46"
Decimal의 소수점 2자리 자리기
String.Format("{0:N2}", _cash_total)
그외 예제 숫자형 포멧
숫자 Custom Format Specifier
# : Digit placeholder (0가 앞에 붙지 않음)
0 : Zero placeholder (0가 앞에 붙음)
. : 소숫점 (Decimal point)
, : 천 자리 (Thousands operator)
; : Section separator
string.Format("{0:#,##0;(#,##0);Zero}", val)
예제
참고 Site:
(1) 숫자 서식 지정자 : http://www.csharpstudy.com/Tip/Tip-number-format.aspx
(2) Leave only two decimal places after the dot
댓글 : DataGridView에서 Cell별로 색상 변경하기
Q: 숫자 0은 검정색, 숫자>=1 빨간색, 숫자<=-1 파란색
Answer: @lovendon: DataGridView에서 Cell 색 변경은 이렇게 하시면 됩니다. private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) // 첫번째 컬럼인 경우 if (e.ColumnIndex == 0 && e.Value != null) Color color; if (i == 0) dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.ForeColor = color; } } |