Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Преобразование типов 
V
    Опции темы
arkonst
Дата 24.4.2008, 09:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 31.10.2007

Репутация: нет
Всего: 1



Как преобразовать sring в double    Или можно поставить вопрос по другому...как умножить значение типа string на значение типа double????
PM MAIL   Вверх
Wizard_Memfis
Дата 24.4.2008, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 12.2.2007
Где: г. Донецк, Украин а

Репутация: 2
Всего: 4



Можно поподробнее не совсем понятно.
1) Если надо 
Код
"10.5"*7=? 
то это одно.
2) А если 
Код
"asdf"*7=?

то это другое.
Для первого я думаю все поятно
Код

double num;
if(double.TryParse("10.5", out num))
{
Console.WriteLine("Result= "+num*7);
}
else
{
Console.WriteLine("Error!");
}

Перефразируй постановку задачи, ПЛЗ!

Это сообщение отредактировал(а) Wizard_Memfis - 24.4.2008, 09:57
--------------------
www.binary-studio.com
PM MAIL WWW ICQ Skype   Вверх
Alekz
Дата 24.4.2008, 09:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 5.2.2008
Где: Запорожье, Украин а

Репутация: 1
Всего: 2



парсишь строку в число (int.Parse(string) double.Parse(string) и тд. или Convert.To[куда надо]()) и умножай, сколько хочешь))

Wizard_Memfis, 
Обогнал))

Это сообщение отредактировал(а) Alekz - 24.4.2008, 10:03
PM MAIL   Вверх
arkonst
Дата 24.4.2008, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 31.10.2007

Репутация: нет
Всего: 1



можно на примере показать???? ...то что касается Parse

Добавлено через 14 минут и 24 секунды
делаю так

 this.TempV.Text = (double.Parse(paramString)*0.01)-273;


в ответ VS дает ошибку компиляции  Error    1    Cannot implicitly convert type 'double' to 'string'    
PM MAIL   Вверх
Wanderer2019
Дата 24.4.2008, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 937
Регистрация: 3.12.2004
Где: Санкт-Петербург/П рага

Репутация: 2
Всего: 17



Цитата(arkonst @  24.4.2008,  10:48 Найти цитируемый пост)
 this.TempV.Text = (double.Parse(paramString)*0.01)-273;


в ответ VS дает ошибку компиляции  Error    1    Cannot implicitly convert type 'double' to 'string'     


ну дык потомушта TextBox.Text - имеет тип string, а ты туда пишешь double - (double.Parse(paramString)*0.01)-273. Вот оно и ругается. Напиши так:
Код

this.TempV.Text = ((double.Parse(paramString)*0.01)-273).ToString();

PM ICQ MSN   Вверх
Alekz
Дата 24.4.2008, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 5.2.2008
Где: Запорожье, Украин а

Репутация: 1
Всего: 2



И вдогонку: методы Parse и ConvertTo кидают исключения (подробней - МСДН).
TryParse - не кидает исключения, просто возвращает false, если преобразование было неуспешным.

Код

try
{    
this.TempV.Text = ((double.Parse(paramString)*0.01)-273).ToString();
}
catch
{
this.TempV.Text = "Ошибка преобразования!";
}


или

Цитата(Wizard_Memfis)


Код

double num;
if(double.TryParse("10.5", out num))
{
Console.WriteLine("Result= "+num*7);
}
else
{
Console.WriteLine("Error!");
}


PM MAIL   Вверх
Dino99rus
Дата 27.4.2008, 03:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 10.1.2007

Репутация: 1
Всего: 2



Код

double test;
double.TryParse("10.5", out test);//test=0.0
test=double.Parse("10.5"); //Входная строка имела неверный формат

 smile 
Не понимаю почему...?
P.S. VS2005
PM MAIL   Вверх
mr.DUDA
Дата 27.4.2008, 09:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 8
Всего: 232



Dino99rus, зависит от текущей локали. На английской нужна запятая вместо точки.


--------------------
user posted image
PM MAIL WWW   Вверх
source777
Дата 27.4.2008, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: 3
Всего: 56



Цитата(mr.DUDA @  27.4.2008,  09:45 Найти цитируемый пост)
На английской нужна запятая вместо точки. 
наоборот, на англ. - точка, на русской - запятая...

Если нужно везде десятичный разделитель - точка, то сделай так:
Код

Application.CurrentCulture = new System.Globalization.CultureInfo("en-US");




--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
Dino99rus
Дата 27.4.2008, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 10.1.2007

Репутация: 1
Всего: 2



source777, 
Угу, все работает. Спасибо. smile  
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0527 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.