- @echo off &setlocal enabledelayedexpansion &cls &color 1a
- echo ------分数化小数 如:1 ÷3=0.333... 位数20,30等都可以------
- set /p x=被除数--- &set /p y=除数----- &set /p bit=小数位数--
- rem set x=%1 &set y=%2 &set bit=%3
- rem 利用参数可以作为函数调用 如fenshu.bat 1 3 12
- set x0=%x%
- if %x% geq %y% (set /a "a=%x%/%y%" &set /a "x1=%x%%%%y%")
- if %x% lss %y% (set a=0 &set x1=%x%)
- :00
- set /a n+=1
- set /a "x1=!x1!*10"
- set /a "a1=!x1!/%y%"
- set r=!r!!a1!
- set /a "x1=!x1!%%%y%"
- if !n! lss !bit! goto 00
- :end
- echo ┎──────────────────────────┒
- echo %x0%÷%y%=%a%.%r%
- echo ┖──────────────────────────┛
- pause
复制代码 下面的由defanive给出的更好。我把下面的复制到这里来贴上。- @echo off &setlocal enabledelayedexpansion &cls &color 1a
- set /p devd=分子:
- set /p devr=分母:
- set /p devn=位数:
- set /a devm=devd%%devr*10
- set /a deva=devd/devr
- set dans=%deva%.
- :loop
- set /a devn-=1
- set /a deva=devm/devr
- set /a devm=devm%%devr*10
- set dans=%dans%%deva%
- if not %devn%==0 goto loop
- echo %dans%
- pause
复制代码
|