You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取年份最后一位及最后两位的int类型数值?

解决年份最后一位/两位的int提取问题

嘿,我来帮你搞定这两个年份数值提取的需求!你的现有代码思路不太对(IndexOf((char)1)是在找字符位置,不是提取末尾数字),下面给你两种高效的解决方案,优先推荐数学运算的方式,因为不需要额外的字符串转换,性能更好:

一、获取年份最后一位的int数值

如果你的formModel.JamKeluar.Year本身就是int类型(DateTime的Year属性确实是int),直接用取模运算就能搞定:

int year = formModel.JamKeluar.Year;
int lastDigit = year % 10; // 2021的话结果就是1

原理很简单:任何整数对10取模,得到的就是它的最后一位数字。

如果非要用字符串处理的方式(不推荐,但也可以实现):

string yearStr = formModel.JamKeluar.Year.ToString();
int lastDigit = int.Parse(yearStr.Substring(yearStr.Length - 1));

二、获取年份最后两位的int数值

同样优先用数学运算,对100取模即可:

int year = formModel.JamKeluar.Year;
int lastTwoDigits = year % 100; // 2021的话结果就是21

对100取模会保留整数的最后两位,完全符合你的需求。

字符串处理方式:

string yearStr = formModel.JamKeluar.Year.ToString();
int lastTwoDigits = int.Parse(yearStr.Substring(yearStr.Length - 2));

补充说明

你的原有代码int aas = year.IndexOf((char)1);是在查找字符串中ASCII码为1的字符的位置,这和提取末尾数字的需求完全不相关,所以才得不到预期结果哦。

内容的提问来源于stack exchange,提问作者Roby

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 04:18:13