that is because the calculator can't read the partial training points whereas your salary does. your player may have strong jump shot and you trained him a couple more weeks, but he didn't pop to proficient yet. if you use the calculator he will register has having only that base 8 js, but if the salary updates it will count the extra training without rounding down.