fix(fraction): fix invalid + sign appear because javascript arithmetic op does not always return exact value
test(fraction): add test