Привет, мое приложение Excel, я хочу преобразовать многие значения и проверить его. Но при преобразовании double и dateTime i сталкиваются с некоторыми серьезными проблемами. Ниже фрагмент кода хорошо работает для английской культуры. Но когда культура немецкая, я получаю текст как 24.3.2014. Теперь он преобразуется в double и возвращает двойное значение, но я не хочу, чтобы он был преобразован в double. Любое предложение об этом.?Как конвертировать Double и DateTime Правильно в соответствии с текущей культурой?
string Text= "24.03.2014";
CultureInfo ci = CultureInfo.CreateSpecificCulture("de-DE");
var numberformat = ci.NumberFormat;
double d;
DateTime date;
if (double.TryParse(Text, NumberStyles.Any, numberformat, out d))
{
Console.WriteLine(d); //prints 24032014.0
}
else if (DateTime.TryParse(Text, numberformat, DateTimeStyles.None, out date))
{
Console.WriteLine(date);
}
Что означает 'str Text'? Считаете ли вы, что вы можете возвращать как double, так и Datetime в одну и ту же функцию? ** Опубликовать компилируемый код ... ** – EZI
Попробуйте разобрать на первый взгляд _then_, чтобы удвоить? или вытащите _value_ из ячейки вместо _text_, тогда вам не нужно беспокоиться о форматировании. –
Извините за строку, я ее изменил. Если он двойной, я хочу вернуть двойное значение, и если это дата, я хочу вернуться в качестве даты. Но если культура немецкая, дата конвертируется двойным. – Deepak