Как отформатировать строку из int64 с фиксированными 2 десятичными точками?

Я работаю со смешанным кодом, и мне нужно отобразить значение int (которое представляет собой сумму) с 2 десятичными знаками.

например: 12366 ==> "123,66", 40 ==> "0,40", 415 ==> "4,15"

на родном с ++ я мог бы сделать:

__int64 sum = 12366;

char buff[20];
sprintf(buff, "%0.2Lf", (long double)sum / 100.0);
MyString sumStr(buff); //this is similar to std::string

Как мне сделать это в C# (или смешанный код)? это можно сделать с помощью String.Format?

__int64 sum = 12366;
String^ sumStr = String::Format("?", sum); 

Я попытался заглянуть сюда: https://msdn.microsoft.com/en-us/library/dwhawy9k(v=vs.110).aspx но я не смог найти ничего, что мне поможет.

Спасибо

1 ответ

Хорошо. нашел, что я должен делать это:

__int64 sum = 12366;
Decimal tmp = ((Decimal )sum / 100);
String^ sumStr = String::Format("{0.00}", tmp); 
Другие вопросы по тегам