c++ float дробная часть

376
12 августа 2017, 03:54
#include <iostream>
using namespace std;
int main(){
    float gallons, liters;
    cout << "Inter gallons:";
        cin >> gallons;
        liters = gallons * 3,78541;
        cout << "litters: " << liters;
    return 0;
}

Как вывести число с дробной частью, потому что сейчас при вводе 1 просто округляется до 3? И соответственно при вводе 2 выводит 6.

Answer 1

Использовать точку вместо запятой -

3.78541

Так уж принято в этом языке :)

Предупреждая возможный вопрос - запятая - это отдельный оператор, так что ошибки как таковой у вас нет. Есть (бессмысленная в данном контексте) инструкция 78541.

Answer 2

В С++/С (как и практически во всех остальных ЯП) дробная часть числа с плавающей точкой(!) (floating point number) отделяется от целой ТОЧКОЙ, а не запятой. Учитывая, что существует оператор "запятая" (comma operator), Ваше выражение имеет вид:

(liters = gallons * 3), 78541;

Нужно написать:

liters = gallons * 3.78541;
READ ALSO
C++ ListView убрать чекбокс из строки

C++ ListView убрать чекбокс из строки

Доброго времени суток

352
gstreamer + framebuffer и вывод его на QWidget

gstreamer + framebuffer и вывод его на QWidget

Вот сколько уже пытаюсь вытащить видео с камеры на QWidget, пробовал QMultimedia (1-2 fps), пробовал на прямую в QPixmap через gstreamer + appsink, 2-3 fps

287
C++: интерфейс без наследования

C++: интерфейс без наследования

Предположим, у меня есть абстрактный класс ("интерфейс") I1 и конкретный тип T:

319
Разделение потока на порции данных

Разделение потока на порции данных

Все то, что функция send() посылает на хост, может разделиться на несколько отдельных порций данных, на прочтение каждой из которых нужен отдельный...

219