元中山唐县(今属河北)人,字敬甫。从刘秉忠就学于磁州紫金册。1253年,秉忠荐于忽必烈,命为太子伴读。中统二年(1261),擢太子赞善。太子真金为中书令时,凡有咨禀,令他与闻。又从真金抚军北边,归领国子祭酒。至元十三年(1276),议修金《大明历》,因他精于算术,命主其事。乃与许衡、杨恭懿、郭守敬等率南北日官,分掌测验推步于下,遍考历书四十余家,昼夜测验,创立新历。十六年,授太史令。二七年,历成,赐名《授时历》。次年病卒。