Mengapa kode berikut mengembalikan 0?
@echo off
set a=100
set /a a=%a%*(50/%a%)
echo %a%
pause
Saya berasumsi itu karena batch di beberapa titik mengevaluasi (50/100) sebagai 0,5 dan membulatkannya menjadi nol karena tidak dapat mempertahankan desimal sebelum mengevaluasi% a% *. Apakah saya salah, dan bagaimana saya mengatasi ini?
sumber