只允许输入正整数

       在解析TS流文件时,我要实现输入节目号就能显示节目相关信息,但是我刚开始没有判断输入的节目号是不是正整数,我不小心按了其他键就一样会被识别,但是没有信息,这可不行,万一用户按错了键,但还是跳转到了节目信息节目,显示空白,用户可就生气。

     我的实现方法是先定义个数组,然后逐位比较是不是0~9的数字,这可通过isdigit()函数来实现,全部判断完再通过atoi()函数转换一下给一个变量,就完成了,因为我需要的是正整数和输入0就退出,所以程序就是这样的。

int i = 0;
char a[10] = { 0 };
unsigned int uiServiceId = 0; 


while(1)
{
    prf_dem("please enter program number(exit 0):");
    scanf("%s",a);
    for(i = 0; a[i] != 0; i++)
    {
        if(isdigit(a[i]) == 0)
	{
	    if(i == 0 && a[i] == 0)
	    {
		break;
	    }
	    prf_dem("please enter positive integer!!!!!!\n");
	    prf_dem("please enter program number(exit 0):");
	    scanf("%s",a);
	    break;
	}
    }
		
    uiServiceId = atoi(a);
    if(uiServiceId)
    {
     /* parse EIT information*/
  iReturn =ParseAllEitSection(stTransportParameter,pfTsFile,iTsPosition,uiServiceId);
        if(iReturn == -1)
        {
            printf("Fail to ParseAllEitSection!!!\n");
            return iReturn;
        }
    }
    else
    {
	break;
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Element UI 是一种基于 Vue.js 的 UI 框架,提供了丰富的组件和 API,使用方便简单。其中,输入框是一种常用的表单元素,可以让用户输入文本、数字等信息。而有时候,我们需要限制用户输入的内容,例如只允许输入正整数。 在 Element UI 中,限制输入正整数的方法很简单。只需要给输入框组件绑定一个事件,当输入框的值改变时,检查当前输入的值是否为正整数,如果不是,则清空输入框内容并提示用户输入错误。下面是一个实现过程的示例代码: ``` <template> <el-input v-model="inputValue" @change="checkInput"></el-input> </template> <script> export default { data() { return { inputValue: '' // 绑定输入框的值 } }, methods: { checkInput() { // 检查输入是否为正整数 const value = parseInt(this.inputValue) if (isNaN(value) || value <= 0) { // 如果不是正整数 this.$message.error('请输入正整数!') // 提示用户输入错误 this.inputValue = '' // 清空输入框的值 } } } } </script> ``` 在上述代码中,我们使用了 Element UI 提供的 `<el-input>` 组件来创建输入框,并通过 `v-model` 实现了数据的双向绑定。当输入框的值发生变化时,会触发 `@change` 事件,调用 `checkInput()` 方法进行检查。在该方法中,我们首先使用 `parseInt` 函数将输入的值转换为整数,然后判断该值是否为 NaN 或小于等于 0,如果是,则清空输入框的值并通过 `$message` 组件提示用户输入错误。 总之,通过以上实现代码,我们可以很方便地在 Element UI 中限制输入正整数,提高用户的输入效率和体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值