合同违约金的计算方式有约定和法定两种。1. 约定计算:当事人可在合同中自行约定违约金数额或计算方法。但约定的违约金过高或过低时,当事人可请求法院或仲裁机构调整。比如,双方约定一方违约需按合同标的额的30%支付违约金。《民法典》第五百八十五条规定,当事人可以约定一方违约时应当根据违约情况向对方支付一定数额的违约金,也可以约定因违约产生的损失赔偿额的计算方法。2. 法定计算:若合同未约定违约金,可依据违约造成的损失计算。损失赔偿额应相当于因违约所造成的损失,包括合同履行后可以获得的利益,但不得超过违约一方订立合同时预见到或者应当预见到的因违约可能造成的损失。例如,一方违约导致对方无法按时履行与第三方的合同,损失了预期利润,该预期利润可作为违约金计算参考。
以上是律师的法律建议,如有疑问,欢迎进一步咨询。