C#-将十进制货币($ 2.00)转换为多头(200美分)的最有效方法是什么

我有一个十进制数字,突出显示了要以美元等货币支付的金额,该数字被截断为2位,例如99.99。

紧邻它的是一个付款网关,该网关接受金额为64int有符号整数(又名long)的金额。此网关接受可能的最低货币单位(例如:美分)的值,因此100将有效地为1 $或十进制1.00。

将十进制值转换为long的最有效方法是什么?