简易计算器程序中数字和小数点输入的处理思路

2016年03月10日 其他资源 3条评论 阅读8747次

简易计算器程序中数字和小数点输入的处理思路

简易计算器程序设计思路及流程图,上一篇文章已经说了一些了,今天记录一下关于小数的处理。

  回顾上一篇文章简易计算器程序设计思路及流程图


本次说的数字和小数点输入的处理思路,化繁为简,分为两个分支事件响应。

Case1 . 小数点(.)的处理事件

关键在于判断当前输入数中是否已经包含了小数点

取得屏幕输入的字符串,使用indexOf方法得到小数点(.)的位置

  • 得到小于0的返回值,则说明现在已经输入的数字中还没有小数点,直接在元字符串后拼接一个小数点(.)即可
  • 得到大于等于0的返回值,则说明现在已经输入的数字中已经小数点了,直接返回,无需再做多余的处理。

Case2. 数字(0-9)的处理事件

还是先判断当前已输入数中是否包含小数点取得屏幕输入的字符串,使用indexOf方法得到小数点(.)的位置

  • 得到小于0的返回值,则说明没有小数点,结果为:原数据 * 10 + 新输入数据
  • 得到大于等于0的返回值,则说明已经有小数点了,结果为:原数据 + 新输入数据 / (小数点后的位数 + 1) 其中小数点后的位数可以通过元字符串长度和indexOf返回值得到

简易计算器中关于小数点输入的测试用例

  1. 输入: 1.5

    期望得到结果为1.5

  2. 输入:.5

    期望得到结果为0.5

  3. 输入:1......5

    期望得到结果为1.5

  4. 输入:......5

    期望得到结果为0.5

  5. 输入:1...-...5

    期望得到结果为-1.5

  6. 输入:15..

    期望得到结果为15

分享本文至:

WRITTEN BY

avatar
本文标签:calculatordecimalpoint
看了本文是不是觉得很赞,那就赶紧点击下面按钮分享给身边的朋友吧!

3 条评论

  1. avatar realchiyouth

    <a href="http://www.dvdlivedoor.com/air-jordan-jumpman-h-negro-oro-scarpea">air jordan jumpman h negro oro</a> <a href="http://www.exterminas.com/florida-state-seminoles-top-of-the-world-ncaa-ploom-adjustable-cap-hati">florida state seminoles top of the world ncaa ploom adjustable cap</a> <a href="http://www.filoliteafarm.com/nike-lunarglide-6-kvinders-gr%C3%A5-guld-trainersb">nike lunarglide 6 kvinders gr氓 guld</a> <a href="http://www.shalandaleigh.com/nike-air-max-90-fl%C3%A5den-bl%C3%A5-top-kurpesd">nike air max 90 fl氓den bl氓 top</a> <a href="http://www.skepticmoment.com/nike-air-max-90-hyp-frm-frau-grau-lila-schuhel">nike air max 90 hyp frm frau grau lila</a> <a href="http://www.kleankampsite.com/femmes-air-jordan-retro-2-vert-rouge-skof">femmes air jordan retro 2 vert rouge</a>
    realchiyouth http://www.realchiyouth.com/

  2. avatar trueaustinpg

    <a href="http://www.precisetrades.com/jordan-4-nero-nero-butyf">jordan 4 nero nero</a> <a href="http://www.teamoxia.com/youth-nike-dallas-cowboys-82-jason-witten-limited-black-2016-salute-to-service-nfl-jersey-nflx">youth nike dallas cowboys 82 jason witten limited black 2016 salute to service nfl jersey</a> <a href="http://www.dopeslimezz.com/mens-nike-pittsburgh-steelers-84-antonio-brown-elite-whitegold-nfl-jersey-nflw">mens nike pittsburgh steelers 84 antonio brown elite whitegold nfl jersey</a> <a href="http://www.easternmeter.com/nike-kaishi-bianca-and-nero-yeezy-chaussuresa">nike kaishi bianca and nero yeezy</a> <a href="http://www.floxshop.com/nike-kd-9-rose-dust-buster-butya">nike kd 9 rose dust buster</a> <a href="http://www.kinkyfresno.com/nike-air-max-90-svart-hvit-wolf-gr%C3%A5-butyc">nike air max 90 svart hvit wolf gr氓</a>
    [url=http://www.trueaustinpg.com/]trueaustinpg[/url]

  3. avatar butterbroad

    <a href="http://www.whatoiljobs.com/nike-air-max-tailwind-bianca-scarpei">nike air max tailwind bianca</a> <a href="http://www.mustberavi.com/hombres-nike-air-max-2017-amarillo-azul-zapatosh">hombres nike air max 2017 amarillo azul</a> <a href="http://www.dynamixawards.com/nike-mercurial-superfly-fg-sort-bl%C3%A5-skok">nike mercurial superfly fg sort bl氓</a> <a href="http://www.nerdalertnews.com/adidas-zx-flux-adv-x-gr%C3%A5-suede-gull-02-obuvi">adidas zx flux adv x gr氓 suede gull 02</a> <a href="http://www.dmvantalya.com/armada-azul-and-blanco-converse-zapatosl">armada azul and blanco converse</a> <a href="http://www.houshyaree.com/ray-ban-folding-wayfarer-sale-sunglassesh">ray ban folding wayfarer sale</a>
    butterbroad http://www.butterbroad.com/

欢迎留言




用户登录

sitemap