0
ここに私のコードです。私は分かりません、10進数でそれを作る方法。私はそれのような例を書いて1つのヒントを見つけました:3/10(= 0.3)。しかし、私ははるかに多くの数字を持っていて、毎回エラータイプを投げます:cmd - 無効な番号です。数字は32ビットの精度に制限されています
"数値は32ビット精度に制限されています。"
誰かが修正方法を知っていますか? ありがとうございます
@echo off
title Converter
color 0b
goto start
:start
cls
echo Converter 1.0
ping localhost -n 2 >nul
goto menu
:menu
cls
color 0a
echo What to convert?
echo 1) Kcal to Kg
set /p menu=
if %menu%==1 goto kcaltokg
goto unknownsymbol
:unknownsymbol
cls
color 0c
echo Unknown symbol!
goto menu
:kcaltokg
cls
echo Set amount of Kcal:
set /p kcal=
set /a "kcal=%kcal%*1428571428571/10000000000000000"
echo %kcal% kg
pause
これは、バッチの代わりにPowerShellを使用することをお勧めします。エラー状態として、バッチは32ビット整数しか扱えません。 – SomethingDark
Windowsコマンド・インタープリターは、32ビット符号付き整数算術のみをサポートします。浮動小数点演算や64ビット整数演算は 'cmd.exe'ではサポートされていません。この作業には、VBScript、JScript、PowerShellなどの異なるスクリプト言語を使用するのが最適です。または、このコンバーターはC++/C#で書かれていて、使いやすいGUIアプリケーションにコンパイルされています。または、Excelなどのスプレッドシートアプリケーションがこのコンバータに使用されます。ところで、多くのフリーユニットコンバータがあります.WindowsやMicrosoftのフリーユニットを変換するためのwww検索エンジンで検索してください。 – Mofi