размер Long, что CF используется для целых чисел
Небольшая коррекция для тех, кто не читает комментарии. В основном CF использует 32 bit signed Integers, неLong (который имеет гораздо большую емкость). Так как сообщение об ошибке указывает, предельный размер здесь является способность к Integer:
- Integer.MAX_VALUE =
2147483647
- Long.MAX_VALUE =
9223372036854775807
Он стоит отметив, что хотя CF является относительно безличным, некоторые Функции математики и даты также имеют те же ограничения. Например, хотя DateAdd технически поддерживает миллисекунды, если вы пытаетесь использовать очень большое количество:
// getTime() - returns number of milliseconds since January 1, 1970
currentDate = dateAdd("l", now().getTime(), createDate(1970,1,1));
... он потерпит неудачу с точно такой же ошибкой, поскольку параметр «число» должно быть целым числом. Поэтому обратите внимание, если в документации упоминается «Целое число». Это не просто означает «число» или «числовой» ...
По какой-либо причине вы не можете просто использовать '/' (то есть не целочисленный делитель) и форматировать, чтобы уничтожить десятичные знаки? Я полагаю, вы могли бы использовать математику PrecisionEvaluate() или BigInteger, но это похоже на перебор. – Leigh
@Leigh OMG! Более 3-х лет опыта CF, и сегодня я узнал о целочисленном делителе и не целочисленном делителе после прочтения вашего комментария. Интересно, как я это пропустил. Спасибо Ли. –
@TusharBhaware, мой опыт в 5 раз больше, и я все еще участвую в чтении чужих ответов на этих форумах. –