If you're working with the four suits I'd probably break that up first.
So, keep the "each card has an identifier" approach (so, say, the ace of hearts is 1 whereas the ace of diamonds is 14) and if you take the random variable you can do a test to see if it's below 13, below 26 and below 39 to determine the suit... Assign that "what suit is it" to an int value which would be from 0-3... Take that random number, subtract 13*i (unless the initial test is saying that the suit is "0" in which case you simply skip the multiplication bits to prevent a div-by-0 error) where i is the suit identifier and stash this new int in a working variable (eg. "i") and then run it through an int-switch to determine what value card it is.
Here's a test screenshot... I think in the suit-sorting system that the action sequence option should be on just to be sure that each int compare is running in sequential order so as to prevent any accidental mis-sorting...
So, this would take the random int you set up and turn it into the value of the face card and have an int that determines the suit of the card itself... So, you have a random value being made of... "23" it will then give you a suit of 1 (clubs) and a ID of "10" so it's the ten of clubs. (in this example I'm assuming that the ace is 1... some people might want to make the ace the higher card so tailor that to your own purposes.)
EDIT: in this example I over-wrote the initial "card ID" int value... If you need/want to keep that value unique you could make a new int value of "Card face value" or something like that where you assign it's face value... So you'd have "Random card", "Suit" and "Face Value" integer values being created for this kind of thing.