2014-09-15 2 views
0

У меня есть время гонки, что я хочу, чтобы отобразить в hh:mm:ss.00asp.net 0: T знаков после запятой, используя dataformatstring = «{0: T}»

Он хранится в базе данных SQL, как time(7) и отображается в осины .net datagrid с использованием dataformatstring="{0:T}".

Это дает мне 00:08:21.6000000. Я хочу показать это как 00:08:21.60

Может ли кто-нибудь сообщить, как я могу ограничить количество цифр, отображаемых для долей секунды? Могу ли я сделать это с помощью dataformatstring или мне придется обрабатывать его в коде (C#)?

ответ

1

Вы можете использовать формат DATETIME, как показано ниже

dataformatstring ="{0:HH:mm:ss.ff}" 

Проверьте различные варианты http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx#ffSpecifier

+0

Я пробовал это, но это порождает ошибку. Я использую время типа данных (7), чтобы сохранить время, и оно появляется в таблице sql db, например. 03: 56: 01.6000000 Строка ввода не была в правильном формате. Описание: Необработанное исключение возникло во время выполнения текущего веб-запроса. Просмотрите трассировку стека для получения дополнительной информации об ошибке и ее возникновении в коде. Сведения об исключении: System.FormatException: строка ввода не была в правильном формате. – IainB

0

Постарайтесь, чтобы получить время из SQL-запроса в желаемом формате, как:

SELECT CAST(CONVERT(TIME(2),'00:08:21.6000000') AS VARCHAR(15)) 

И Его OutPut будет:

00:08:21.60 
Смежные вопросы