Причина, по которой люди рекомендуют избегать перечислений в веб-сервисах, заключается в том, что они создают тонкие, обратно совместимые проблемы.
То же самое относится к обычным перечислениям, но в веб-сервисах проблема еще более ясна, особенно в сгенерированных .NET прокси (см. Ниже).
Определяя параметр как строку, вы сигнализируете пользователю вашего API, что значение может измениться в будущем , Даже если вы думаете, что ценность никогда не изменится, это хорошая практика, чтобы быть готовым.
На эту тему есть хороший пост Даре Обасанджо.
Batch files as such do not support the floating point arithmetic. However, this article suggests a workaround that uses an external script file to do calculations. The script file should use some sort of eval
function to evaluate the expression passed as an argument and return the result. Here's a sample VBScript file (eval.vbs) that does this:
WScript.Echo Eval(WScript.Arguments(0))
You can call this external script from your batch file, specify the expression to be evaluated and get the result back. For example:
@echo off
for /f %%n in ('cscript //nologo eval.vbs "10/3"') do (
set res=%%n
)
echo %res%
Of course, you'll get the result as a string, but it's better than nothing anyway, and you can pass the obtained result to the eval script as part of another expression.
Согласно этой ссылке , в языке пакетной обработки DOS нет типа с плавающей запятой:
Хотя переменные существуют в языке пакетного программирования DOS, они чрезвычайно ограничены . Не существует целочисленных, указателей или переменных с плавающей запятой, только строки.
Я думаю, что то, что вы пытаетесь сделать, будет невозможно без реализации вашей собственной схемы деления для явного вычисления остатка.