Ask Your Question

function for removing scientific notation

asked 2016-09-16 16:23:04 +0200

mmcarbs gravatar image


If I calculate a big number, say 4.546456 * 1000000000 sage will give the answer 4.5465 x 10^9 Is there a way to not do this and instead force sage to give the answer 4546456000. I have tested the N()-function and it works sometimes but not every time. The N()-function will also give me problems when solving. If a use .N() when I try to solve a = 403455345.556 * 5 I get the answer a=(100863836389 / 50) and I want to get the result a = 2017276727.78.

If I'm correct, the answer in the form 1 x 10^7 is done with scientific notation and my basic question is then if there is a way to "revert/undo/remove" the scientific notation.

TL;DR = Is there a way or function for sage to give results as 10 000 000 instead of 1 x 10^7?


edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2016-09-16 18:00:09 +0200

tmonteil gravatar image

updated 2016-09-16 18:01:30 +0200

In this particular case, you can make it an integer:

sage: a = 4.546456 * 1000000000 
sage: a
sage: a.parent()
Real Field with 53 bits of precision
sage: ZZ(a)
sage: ZZ(a).parent()
Integer Ring

In the more general case of non-integer result (your second example), you can use the nosci option of the str method:

sage: a = 403455345.556 * 5
sage: a.str(no_sci=2, skip_zeroes=True)
edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools


Asked: 2016-09-16 16:23:04 +0200

Seen: 797 times

Last updated: Sep 16 '16