Погода: 12 °C
19.048...11переменная облачность, небольшие дожди
20.041...8переменная облачность, без осадков
  • заранее прошу прощения за абсолютно ламаковский вопрос, но все же как в с++ устроить округление значения переменной float до определенного количества знаков после запятой с присвоением получившегося значения другой переменной?

  • round(f * 10n) / 10n

  • А формат данных порулить?
    На память я не помню, но что-то вроде %10.5f при выводе.
    До точки - кол-во целых, после - кол-во дробных.
    По-моему и при вычислениях примерно так.
    Но могу ошибиться.
    Погляди описание формата данных.

    "Nell'era Delle Сamminatore"

  • Это при выводе. Это понятно. Вопрос-то именно в усечении дробной части самого значения. Тут верно Reluk посоветовал.
    Только поправочка:
    round(x*10n)/(float)10n;
    Иначе у результата усечется дробная часть.
    (10n - это 10 в степени n. Кстати, сделать его можно как exp(n*ln(10)); )

    Когда проснулся, тогда и "Доброе утро!"

  • В ответ на: Кстати, сделать его можно как exp(n*ln(10));
    а что не pow(n, 10); ?

  • ну, то есть pow(10, n);

  • >>> а что не pow(n, 10); ?

    А потому что не знал :). Вот и пришлось мозгами пошевелить...
    Пасиб.

    Когда проснулся, тогда и "Доброе утро!"

  • Вопрос совсем уж смешной: где round() описана?:улыб:

    Когда проснулся, тогда и "Доброе утро!"

  • А почему нельзя функцией Set8087CW()?
    Ведь как я понял вычисляешь с большой точностью и этим засоряешь память, Set8087CW() насколько я понимаю сразу вычисляет с необходимой точностью.
    // Я могу ошибаться! Ведь я только учусь

Записей на странице:

Перейти в форум

Модератор: