优化 加入负数检查