孔先生替袁了凡推算命裡所注定的數。他說:在你沒有取得功名做童生時,縣考應該考第十四名,府考應該考第七十一名,提學考應該考第九名。到了第二年,袁了凡果然三處的考試,所考的名次和孔先生所推算的一樣,完全相符。
孔先生又替袁了凡推算終生的吉凶禍福。哪一年考取第幾名,哪一年應當補廩生,哪一年應當做貢生,等到貢生出貢後,在某一年,應當選為四川省的一個縣長,在做縣長的任上三年半後,便該辭職回家鄉。到了五十三歲那年八月十四日的丑時,就應該壽終正寢,可惜命中沒有兒子。
這些話袁了凡都一一的記錄起來,並且牢記在心中。從此以後,凡是碰到考試,所考名次先後,以及官職升遷等等無不一一應驗,都不出孔先生所推算。袁了凡因此認為何時生,何時死,何時得意,何時失意,都有個定數,一切都是天定的,沒有辦法改變。
後來袁了凡認識了雲谷禪師,在雲谷禪師點拔下,認識到一個人的命數其實可以改變。一個極善的人,儘管本來他的命數里注定吃苦,但是他做了極大的善事,這大善事的力量,就可以使他苦變成樂,貧賤短命變成富貴長壽;而極惡的人,儘管他本來命中注定要享福,但是他如果做了極大的惡事,這大惡事的力量,就可以使福變成禍,富貴長壽變成為貧賤短命。所以如果造惡就自然折福,修善就自然得福。從前各種詩書中所說的,原來都是的的確確,明明白白的好教訓。
袁了凡原來號「學海」,但是自從那一天起就改號叫做「了凡」,因為他明白了立命的道理,不願意和凡夫一樣,所以改叫做「了凡」。他從以前的糊塗隨便、無拘無束,變得小心謹慎、戒慎恭敬,即使是在暗室無人的地方,他也警惕自己不要做錯事而獲罪於天。碰到別人討厭他、譭謗他,他也能夠淡然處之,不與計較。
在他見了雲谷禪師的第二年,到禮部去考科舉。孔先生算他的命,應該考第三名,哪知道居然考了第一名,孔先生的話開始不靈了。孔先生沒算他會考中舉人,哪知道到了秋天鄉試,他竟然考中了舉人,這都不是他命裡注定的。
從此,袁了凡對自己要求更加嚴格,勿以善小而不為,勿以惡小而為之。努力自省改過,盡力修身積德行善。
結果真是「斷惡修善,災消福來」。袁了凡於辛巳年有了兒子,取名叫天啟。袁了凡後高中進士,官位追增到尚寶司卿。五十三歲那年也並無災難,甚至連一點病痛都沒有。享壽七十四歲。
袁了凡曾寫有四篇短文作家訓,名「戒子文」,教戒他的兒子袁天啟認識命運的真相,明辨善惡的標準,改過遷善的方法,以及行善積德謙虛種種的效驗;並且以他自己改變命數的經驗來「現身說法」。這就是後來廣傳行於世的《了凡四訓》。