`R/lsd-conversion.R`

`deb_convert_bases.Rd`

Convert between pounds, shillings, and pence currencies that use different bases for the shillings and pence units.

deb_convert_bases(lsd, bases1 = NULL, bases2, ratio = 1, round = 5)

lsd | An lsd value. An object of class lsd or an object that can be coerced to class lsd: a numeric vector of length 3 or a list of such vectors. |
---|---|

bases1 | Numeric vector of length 2 used to specify the bases for the
shillings or s and pence or d values of |

bases2 | Numeric vector of length 2 used to specify the bases for
the shillings or s and pence or d values to which |

ratio | The ratio between the two currencies that possess different
bases. This is the value by which |

round | Round pence unit to specified number of decimal places. Default is 5. Set to 0 to return pence as whole number. |

Returns an object of class lsd with a bases attribute conforming
to `bases2`

.

`deb_convert_bases()`

is similar to `deb_exchange()`

, but the latter performs
exchange on currencies that share the same shillings and pence bases.

`deb_convert_bases()`

is the only way to change the bases attribute of an
lsd object.

# Conversion between pounds Flemish of 20 shillings and 12 pence # to guilders of 20 stuivers and 16 penningen at the rate of # 6 guilders equals £1 Flemish deb_convert_bases(lsd = c(204, 3, 3), bases1 = c(20, 12), bases2 = c(20, 16), ratio = 6)#> l s d #> [1] 1224 19 8# Convert from guilders to pounds Flemish # Flip the bases argument and change the ratio deb_convert_bases(lsd = c(1224, 19, 8), bases1 = c(20, 16), bases2 = c(20, 12), ratio = 1/6)#> l s d #> [1] 204 3 3# If input is an lsd object, bases1 will use the bases attribute guilders <- deb_as_lsd(lsd = c(1224, 19, 8), bases = c(20, 16)) deb_convert_bases(lsd = guilders, bases2 = c(20, 12), ratio = 1/6)#> l s d #> [1] 204 3 3# Conversion from French crowns of 60 sous and 12 deniers to # pound sterling of 20 shillings and 12 pence at the rate of # 72d. French crowns equals £1 sterling or 240d. sterling deb_convert_bases(lsd = c(214, 50, 10), bases1 = c(60, 12), bases2 = c(20, 12), ratio = 72/240)#> l s d #> [1] 64 9 1# Base conversion can also be done in concert with deb_exchange() # Convert from guilders to pounds sterling at the rate of 12s. Flemish deb_convert_bases(lsd = guilders, bases2 = c(20, 12), ratio = 1/6) %>% deb_exchange(shillings_rate = 12)#> l s d #> [1] 122 9 11.4# Convert an lsd object of guilders to pounds Flemish guilders_list <- deb_as_lsd(lsd = list(c(1224, 19, 8), c(101, 5, 13), c(225, 13, 15)), bases = c(20, 16)) deb_convert_bases(lsd = guilders_list, bases2 = c(20, 12), ratio = 1/6)#> l s d #> [1] 204 3 3.000 #> [2] 16 17 7.625 #> [3] 37 12 3.875