Точка и запятая
|
|
tourniquet | Дата: Воскресенье, 21 Октября 2012, 01:29 | Сообщение # 1 |
частый гость
Сейчас нет на сайте
| using System;
class SchimbValutar { static void Main() { double rate, lei, sum; string s; Console.WriteLine("Введите курс для доллара"); s = Console.ReadLine(); rate = Convert.ToDouble(s); Console.WriteLine("Сколько леев вы хотите продать?"); s = Console.ReadLine(); lei = Convert.ToDouble(s);
sum = lei / rate; Console.WriteLine("Вы можете купить " + sum + "$"); } }
Народ, вечер добрый! Опять я со своим конвертором, на этот раз под С#. Всё вроде работает, но, есть один момент, не знаю в какую сторону копать! Ввожу курс доллара 12.4 (с точкой!) - получаю один результат, ввожу курс 12,4 (с запятой!) - уже воторой результат? Как с этим боротся? Спасибо!
|
|
| |
Undead | Дата: Воскресенье, 21 Октября 2012, 01:49 | Сообщение # 2 |
NeoAxis User
Сейчас нет на сайте
| В системе какой разделитель по умолчанию? Запятая должна была вызвать FormatException. Либо парси строку на предмет разделителий и замения на тот, что в системе сейчас используется, либо пиши Winforms GUI там удобный контрол для ввода чисел. Заметка на хабре
Вcем зла.
Сообщение отредактировал Undead - Воскресенье, 21 Октября 2012, 01:52 |
|
| |
arthurfok | Дата: Воскресенье, 21 Октября 2012, 16:06 | Сообщение # 3 |
частый гость
Сейчас нет на сайте
| Code using System; using System.Collections.Generic; using System.Linq; using System.Text; class SchimbValutar { static void Main() { double rate, lei, sum; string s;
Console.WriteLine("Введите курс для доллара"); s = Console.ReadLine(); if (s.Contains('.')) s = s.Replace('.', ','); rate = Convert.ToDouble(s);
Console.WriteLine("Сколько леев вы хотите продать?"); s = Console.ReadLine(); if (s.Contains('.')) s = s.Replace('.', ','); lei = Convert.ToDouble(s);
sum = lei / rate; Console.WriteLine("Вы можете купить " + sum + "$"); } }
Вообще то, если в твое число с точкой ( в место запетой) , то Convert.ToDouble() должен выдать вот такой error: Input string was not in a correct format.
Сообщение отредактировал arthurfok - Понедельник, 22 Октября 2012, 15:35 |
|
| |
tourniquet | Дата: Воскресенье, 21 Октября 2012, 18:09 | Сообщение # 4 |
частый гость
Сейчас нет на сайте
| Да нет, число с запЯтой, никаких ошибок не выдaёт. Позже попробую решить проблему, напишу что получилось.
Сообщение отредактировал tourniquet - Воскресенье, 21 Октября 2012, 18:15 |
|
| |
arthurfok | Дата: Воскресенье, 21 Октября 2012, 21:15 | Сообщение # 5 |
частый гость
Сейчас нет на сайте
| Так я же уже написал решение ! О_о if (s.Contains('.')) s = s.Replace('.', ',');
|
|
| |
tourniquet | Дата: Воскресенье, 21 Октября 2012, 23:47 | Сообщение # 6 |
частый гость
Сейчас нет на сайте
| Дя дя, работает! Спасибо! ))
Просто я спешил когда прочитал твоё сообшение, ответил и не успел проверить. Только что проверял, всё работает!
|
|
| |
arthurfok | Дата: Понедельник, 22 Октября 2012, 15:34 | Сообщение # 7 |
частый гость
Сейчас нет на сайте
|
|
|
| |