Я новичок в программировании на C#, и мне нужна ваша помощь по этому one.I есть строка со значением «12:45:00», и я хотел бы преобразовать ее в десятичную с двумя десятичными знаками.Как преобразовать время в формате строки в десятичный в C#?
ответ
Хотя вы можете использовать DateTime
-структуру для вашего дела, но , так как ваш string
не содержит date
информации, я думаю, что самый простой способ будет использовать string.Split
вместо этого.
string[] strs = "12:45:00".Split(':'); //will give you 12, 45, and 00
double val = Convert.ToDouble(strs[0]) + Convert.ToDouble(strs[1])/60 + Convert.ToDouble(strs[2])/3600;
Затем напечатать ее в двух десятичных значений, просто сделать:
val.ToString("F2"); //you will get 12.75
Или, чтобы получить 12.45
, то просто сделать:
double val = Convert.ToDouble(strs[0]) + Convert.ToDouble(strs[1])/100; //note 100 here - second doesn't matter here
Похоже, что OP хочет '12: 45' не' 12: 75' на основе комментария. http://stackoverflow.com/questions/35684633/how-to-convert-time-in-string-format-into-decimal-in-c#comment59046787_35684633 –
@ SonerGönül, что довольно странно для единицы времени * часов *: S don Вы думаете? но хорошо, я обновил свой ответ, чтобы включить это в любом случае ... – Ian
@ SonerGönül Это не имеет смысла при расчете валового дохода с учетом продолжительности в часах и почасовой ставке (что я думаю, что OP пытается это сделать). Я не могу придумать ни одного случая, когда использование двойного значения 12,45 для представления продолжительности 12:45 имеет смысл в контексте расчета валового дохода. –
Если вы задумали преобразовать продолжительность в часах, минутах и (необязательно) секунд в часах, вы можете сделать это так:
double answer = TimeSpan.Parse("12:45:00", CultureInfo.InvariantCulture).TotalHours;
Console.WriteLine(answer); // Prints 12.75
Это значение, которое вы можете использовать вместе с почасовой ставкой для расчета валового дохода.
Примечание: Было бы неверно конвертировать 12:45 (чч: мм) в 12.45, поскольку 12:45 составляет 12,75 часа, а не 12,45 часа.
- 1. Как преобразовать время в десятичный
- 2. Как преобразовать двоичный в десятичный в C
- 3. C# преобразовать строку в десятичный 4dp
- 4. Преобразование строки в десятичный C#
- 5. Как преобразовать NSDecimal в C# десятичный
- 6. Десятичный возврат в формате валюты
- 7. Преобразовать время в формате UTC
- 8. Как преобразовать шестнадцатеричный в десятичный?
- 9. Преобразовать число в десятичный
- 10. Как преобразовать байт в десятичный?
- 11. Как преобразовать timespan в десятичный?
- 12. Преобразование строки шестнадцатеричного в десятичный в c
- 13. Ввод строки в десятичный
- 14. C++ преобразовать двоичный код в десятичный, восьмеричный
- 15. Невозможно преобразовать XElement в десятичный
- 16. преобразование строки в десятичный
- 17. Как преобразовать в десятичный тип в Protobuf.js
- 18. Как преобразовать десятичный в шестнадцатеричный в JavaScript?
- 19. Как преобразовать процент в десятичный в mysql?
- 20. Как преобразовать hex в десятичный в Python?
- 21. Как преобразовать шестнадцатеричное значение в десятичный эквивалент в C#?
- 22. Как преобразовать десятичный массив в строковый массив в C#?
- 23. Как преобразовать десятичный код символа в строку Unicode в C++?
- 24. Как преобразовать десятичный код в ASCII в C# .net?
- 25. Как преобразовать экспоненциальные форматы в десятичный формат в c
- 26. Как преобразовать значение nullable datetime в десятичный в C#
- 27. Как преобразовать латинский символ в HTML-Entity (десятичный) в C#?
- 28. Как я могу преобразовать строку в десятичный
- 29. Как преобразовать двоичный код в десятичный?
- 30. C#: Преобразование UInt16 в формате строки в целое число (десятичное)
«Десятичный с двумя местами», что такое единица времени * *? Можете ли вы привести пример? – Ian
единица времени в часах: минуты: секунды –
Любой * образец *, как вы хотите превратить его в * десятичный с двумя местами *. Например, учитывая 12:45:00, какой будет выход -> ????? – Ian