Unit conversion
This commit is contained in:
parent
5f955564fb
commit
517bf35705
@ -119,6 +119,10 @@ module UnitConversion
|
||||
rational_val = converted.to_r.rationalize(0.001)
|
||||
if rational_val.denominator == 1
|
||||
rational_val.to_i.to_s
|
||||
elsif rational_val.denominator < rational_val.numerator.abs
|
||||
whole = rational_val.floor
|
||||
fraction = rational_val - whole
|
||||
"#{whole} #{fraction}"
|
||||
else
|
||||
rational_val.to_s
|
||||
end
|
||||
|
@ -38,6 +38,8 @@ RSpec.describe UnitConversion do
|
||||
expect(UnitConversion.convert('8', '1', 'tablespoon', 'cup')).to eq '1/2'
|
||||
expect(UnitConversion.convert('1', '1', 'tablespoon', 'cup')).to eq '1/16'
|
||||
expect(UnitConversion.convert('2.0', '1', 'tablespoon', 'cup')).to eq '0.125'
|
||||
expect(UnitConversion.convert('2/3', '1', 'tablespoon', 'teaspoons')).to eq '2'
|
||||
expect(UnitConversion.convert('2', '4', 'teaspoons', 'tablespoons')).to eq '2 2 /3'
|
||||
end
|
||||
|
||||
it 'scales odd units without conversion' do
|
||||
|
Loading…
Reference in New Issue
Block a user