1 Востаннє редагувалося sasha1175 (09.02.2018 22:39:06)

Тема: Float як вивести цифри тільки ті що знаходяться після коми??

Например, 6.34, має вивести тільки 34.
Це взагалі можливо так?

2 Востаннє редагувалося ReAl (09.02.2018 23:18:49)

Re: Float як вивести цифри тільки ті що знаходяться після коми??

math.h  (<cmath>, якщо C++) дивилися?

3

Re: Float як вивести цифри тільки ті що знаходяться після коми??

ви можете спочатку округлити число до меншого цілого, а потім відняти це число від оригіналу, типу
6.34 => 6
6.34 - 6 = 0.34, наприклад.

Подякували: sensei1

4

Re: Float як вивести цифри тільки ті що знаходяться після коми??

Тільки все ж таки спочатку треба вирішити, що є ціла і що дробова частина для від'ємних чисел.
В сучасній математиці вживають обидва позначення, однак існує тенденція переходу до термінології і позначенням Айверсона. Одна з причин цього — потенційна неоднозначність поняття «ціла частина числа»

«For negative values of x, the terms integral part or integer part of x are sometimes instead taken to be the value of the ceiling function, i.e., the value of x rounded to an integer towards 0.»

Але це sometimes таке:

С++ написав:

cout << int(-2.7f) << endl;
-2

python написав:

>>> int(-2.7)
-2

Тобто з якихось своїх/задачі міркувань треба вибрати між floor і trunc.
modf («Decomposes given floating point value x into integral and fractional parts, each having the same type and sign as x.») працює по варіанту «-2.7 має цілу частину -2 і дробову -0.7».

Подякували: sensei, Yola3

5

Re: Float як вивести цифри тільки ті що знаходяться після коми??

ReAl написав:

Тільки все ж таки спочатку треба вирішити, що є ціла і що дробова частина для від'ємних чисел.

Нічого не треба вирішувати, якщо дослівно слідувати темі  «що знаходяться після коми» :-)

Для -6.34 «до коми»  буде -6 і «після коми» буде -0.34.
Тобто таки по trunc / modf, а не по «до меншого цілого» aka floor

Подякували: FakiNyan2

6

Re: Float як вивести цифри тільки ті що знаходяться після коми??

FakiNyan тобі не договорив. :)
Крок 1: округли свое число і помнож на 100. Вийде 600.
Крок 2: помнож свое число на 100. Вийде 634.
Крок 3: 634-600=34. Ось є що виводити на екран.
Крок 4: якщо всі числа мають однакову кількість знаків після "." тоді зроби функцію. :)

Подякували: Yola, LoganRoss2