Этот код выдает исключение «Значение слишком велико или слишком мало для десятичного числа».
Каким-то образом изменение переменных y1, y2, x убирает ошибку. Например, у2 от 41 до 38.
Как я могу это исправить?
Turtle.Speed = 10
x = 10
y1 = 42
y2 = 41
Turtle.Angle = 180
Turtle.MoveTo(x, y2)
Turtle.MoveTo(x, y1)
Трассировка ошибки:
in System.Decimal..ctor(Double value)
in System.Decimal.op_Explicit(Double value)
in Microsoft.SmallBasic.Library.Primitive.op_Implicit(Double value)
in Microsoft.SmallBasic.Library.Turtle.MoveTo(Primitive x, Primitive y)
in _SmallBasicProgram._Main()
То же самое и в версии 1.0 и в версии 1.2.
MoveTo(x,y)
выполняет некоторые математические операции для создания парыTurn/Move
(и значения, сгенерированные при преобразовании в примитив на этих сайтах вызовов). Десятичные значения имеют фиксированную точность, и ctor выдаст исключение, если (предоставленное двойное число) не может быть точно представлено. - person user2864740   schedule 08.10.2018Primitive
:new Primitive((Decimal) primitiveDouble)
.. независимо от каких-либо недорасходов .. - person user2864740   schedule 08.10.2018double x = double.MinValue; decimal f = (decimal)x;
- person user2864740   schedule 08.10.2018