Принудительное выполнение вычислений с плавающей запятой - PullRequest
5 голосов
/ 26 июня 2010

В IronPython есть какой-либо способ заставить выражение, содержащее целочисленные значения, вычисляться как число с плавающей запятой.Например, я бы хотел, чтобы выражение

1/3

оценивалось как

1./3. 

с результатом 0,333 ...

Мне нужно, чтобы сделатьпростой калькулятор выражений во время выполнения в проекте C # с помощью IronPython.Я не могу заставить пользователей вводить выражения с конечными десятичными точками.

Ответы [ 3 ]

11 голосов
/ 26 июня 2010
from __future__ import division

print 1 / 3
print 1 // 3
11 голосов
/ 26 июня 2010

Вы можете форсировать деление с плавающей запятой, как любое из них, независимо от того, импортировано ли что-либо из __future__:

print val1 / (val2 + 0.0)
print (val1 + 0.0) / val2
print float(val1) / val2
print val1 / float(val2)
2 голосов
/ 26 июня 2010

Если ваши пользователи все равно вводят значения, то, вероятно, вы конвертируете значения в int s.Так что просто конвертируйте их в float.

val1 = float(raw_input())
val2 = float(raw_input())
print val1/val2
...