-1

В общем, я делаю кликер на юнити и хотел сделать чтоб числе сокращались (ну типа не 1230, а 1.23К) и для текста отображающего очки у меня получилось, но для цен товаров в магазине не могу.

Qwertiy
  • 123,725
kontay
  • 1
  • Идею можно украсть здесь https://ru.stackoverflow.com/a/1246708/373567. И цены нельзя округлять. Представьте, вы пришли в магазин, а там ценник "10 кило мяса 1,1К", покупатель всегда должен знать точную цену, даже если это 15-значное число. Хотя, вам виднее. – aepot Dec 18 '21 at 09:44
  • 1
    @aepot, это ж кликер. Там всегда округляют. – Qwertiy Dec 18 '21 at 09:55

1 Answers1

1
int value1 = 123;
int value2 = 12_345;
int value3 = 12_345_679;
string val_s(int v) => v < 1000 ? v.ToString() //если < 1000
    : v < 1000_000 ? String.Format("{0,3:#.000}K",(float)v/1000) // < 1000000
    : String.Format("{0,3:#.000}M",(float)v/1000_000); // >= 1000000
//и так можно продолжать дальше

val_s(value1) //123
val_s(value2) //12,345K
val_s(value3) //12,346M
Blackmeser
  • 2,033