2013-03-14 4 views
-2

Я сделал небольшой скрипт, который дает число PI с x десятичными знаками. Я использую алгоритм Salamin-Brent для поиска PI, и я не хочу использовать Math :: PI. Проблема заключается в том, что результат всегда равен 15 десятичным знакам.Изменение числа десятичных знаков

Я нашел константу Float::DIG, которую я переопределяю, но ничего не меняется (даже когда я уменьшаю ее).

Вот как я ее переопределение:

puts Float::DIG   #=> 15 
Float::DIG = 2 
puts Float::DIG   #=> 2 

ответ

1

в сторону от oldergod изначального ответа с помощью строки манипуляции

'%0.4f' % Math::PI # "3.1416" 

вы также можете использовать round

Math::PI.round(4) # 3.1416 

4 в обоих примерах определить количество десятичных знаков, которые вы хотите , Основное различие между ними - это первое, возвращающее строку, а второе - поплавок. Я предпочитаю второй, потому что его легче читать.

+0

Это хорошее решение, но в моем случае я не хочу использовать Math :: PI. Я использую алгоритм Salamin-Brent для поиска PI. –

+1

нет, это всего лишь пример. измените 'Math :: PI' на другую переменную или даже само значение как' 3.1415678.round (4) ' – jvnill

Смежные вопросы